view kallithea/templates/admin/repos/repo_add_base.html @ 8942:f2dc57c123cf stable

repo: introduce enable_downloads and enable_statistics when creating repos These booleans were not shown in the normal repo creation form, so the form validation applied the "default" values of False. These values were however not used by the model when creating repos - it just unconditionally used the real global defaults. The API already exposed some of this, but it wasn't implemented. The web form for creating repos lacked these fields, but it was present in the repo edit form. Just make these fields mandatory. There will thus not be any defaults to apply in the model for creating repos.
author Mads Kiilerich <mads@kiilerich.com>
date Mon, 12 Dec 2022 00:25:22 +0100
parents d00371a768c9
children
line wrap: on
line source

${h.form(url('repos'))}
    <div class="form">
        <div class="form-group">
            <label class="control-label" for="repo_name">${_('Name')}:</label>
            <div>
                ${h.text('repo_name',class_='form-control')}
            </div>
        </div>
        <div class="form-group">
            <label class="control-label" for="repo_type">${_('Type')}:</label>
            <div>
                ${h.select('repo_type','hg',c.backends,class_='form-control')}
                <span class="help-block">${_('Type of repository to create.')}</span>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label" for="clone_uri">${_('Clone remote repository')}:</label>
            <div>
                ${h.text('clone_uri',class_='form-control', placeholder=_('Repository URL'))}
                <span class="help-block">
                    ${_('Optional: URL of a remote repository. If set, the repository will be created as a clone from this URL.')}
                </span>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label" for="repo_description">${_('Description')}:</label>
            <div>
                ${h.textarea('repo_description',class_='form-control')}
                <span class="help-block">${_('Keep it short and to the point. Use a README file for longer descriptions.')}</span>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label" for="repo_group">${_('Repository group')}:</label>
            <div>
                ${h.select('repo_group',None,c.repo_groups,class_='form-control')}
                <span class="help-block">${_('Optionally select a group to put this repository into.')}</span>
            </div>
        </div>
        <div id="copy_perms" class="form-group">
            <label class="control-label" for="repo_copy_permissions">${_('Copy parent group permissions')}:</label>
            <div>
                ${h.checkbox('repo_copy_permissions',value="True")}
                <span class="help-block">${_('Copy permission set from parent repository group.')}</span>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label" for="repo_landing_rev">${_('Landing revision')}:</label>
            <div>
                ${h.select('repo_landing_rev',None,c.landing_revs,class_='form-control')}
                <span class="help-block">${_('Default revision for files page, downloads, full text search index and readme generation')}</span>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label" for="repo_private">${_('Private repository')}:</label>
            <div>
                ${h.checkbox('repo_private',value="True")}
                <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label" for="repo_enable_statistics">${_('Enable statistics')}:</label>
            <div>
                ${h.checkbox('repo_enable_statistics',value="True")}
                <span class="help-block">${_('Enable statistics window on summary page.')}</span>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label" for="repo_enable_downloads">${_('Enable downloads')}:</label>
            <div>
                ${h.checkbox('repo_enable_downloads',value="True")}
                <span class="help-block">${_('Enable download menu on summary page.')}</span>
            </div>
        </div>
        <div class="form-group">
            <div class="buttons">
                ${h.submit('add',_('Add'),class_="btn btn-default")}
            </div>
        </div>
    </div>
${h.end_form()}

<script>
    'use strict';
    $(document).ready(function(){
        $('#repo_type').select2({
            'minimumResultsForSearch': -1
        });
        $('#repo_group').select2({
            'dropdownAutoWidth': true
        });

        function setCopyPermsOption(group_val){
            if(group_val != "-1"){
                $('#copy_perms').show();
            }
            else{
                $('#copy_perms').hide();
            }
        }

        setCopyPermsOption($('#repo_group').val());
        $('#repo_group').on("change", function(e) {
            setCopyPermsOption(e.val);
        });

        $('#repo_landing_rev').select2({
            'minimumResultsForSearch': -1
        });
        $('#repo_name').focus();
    });
</script>