Files @ 260a7a01b054
Branch filter:

Location: kallithea/rhodecode/templates/admin/permissions/permissions.html

Mads Kiilerich
follow Python conventions for boolean values

True and False might be singletons and the "default" values for "boolean"
expressions, but "all" values in Python has a boolean value and should be
evaluated as such. Checking with 'is True' and 'is False' is thus confusing,
error prone and unnessarily complex.

If we anywhere rely and nullable boolean fields from the database layer and
don't want the null value to be treated as False then we should check
explicitly for null with 'is None'.
## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>

<%def name="title()">
    ${_('Permissions administration')} &middot; ${c.rhodecode_name}
</%def>

<%def name="breadcrumbs_links()">
    ${h.link_to(_('Admin'),h.url('admin_home'))}
    &raquo;
    ${_('permissions')}
</%def>

<%def name="page_nav()">
    ${self.menu('admin')}
</%def>

<%def name="main()">
<div class="box box-left">
    <!-- box / title -->
    <div class="title">
        ${self.breadcrumbs()}
    </div>
    <h3>${_('Default permissions')}</h3>
    ${h.form(url('permission', id='default'),method='put')}
    <div class="form">
        <!-- fields -->
        <div class="fields">
            <div class="field">
                <div class="label label-checkbox">
                    <label for="anonymous">${_('Anonymous access')}:</label>
                </div>
                <div class="checkboxes">
                    <div class="checkbox">
                        ${h.checkbox('anonymous',True)}
                    </div>
                </div>
            </div>
            <div class="field">
                <div class="label">
                    <label for="default_repo_perm">${_('Repository')}:</label>
                </div>
                <div class="select">
                    ${h.select('default_repo_perm','',c.repo_perms_choices)}

                    ${h.checkbox('overwrite_default_repo','true')}
                    <label for="overwrite_default_repo">
                    <span class="tooltip"
                    title="${h.tooltip(_('All default permissions on each repository will be reset to chosen permission, note that all custom default permission on repositories will be lost'))}">
                    ${_('overwrite existing settings')}</span> </label>
                </div>
            </div>
            <div class="field">
                <div class="label">
                    <label for="default_group_perm">${_('Repository group')}:</label>
                </div>
                <div class="select">
                    ${h.select('default_group_perm','',c.group_perms_choices)}
                    ${h.checkbox('overwrite_default_group','true')}
                    <label for="overwrite_default_group">
                    <span class="tooltip"
                    title="${h.tooltip(_('All default permissions on each repository group will be reset to chosen permission, note that all custom default permission on repository groups will be lost'))}">
                    ${_('overwrite existing settings')}</span> </label>

                </div>
            </div>
            <div class="field">
                <div class="label">
                    <label for="default_register">${_('Registration')}:</label>
                </div>
                <div class="select">
                    ${h.select('default_register','',c.register_choices)}
                </div>
            </div>
             <div class="field">
                <div class="label">
                    <label for="default_create">${_('Repository creation')}:</label>
                </div>
                <div class="select">
                    ${h.select('default_create','',c.create_choices)}
                </div>
             </div>
             <div class="field">
                <div class="label">
                    <label for="default_fork">${_('Repository forking')}:</label>
                </div>
                <div class="select">
                    ${h.select('default_fork','',c.fork_choices)}
                </div>
             </div>
            <div class="buttons">
              ${h.submit('save',_('Save'),class_="ui-btn large")}
              ${h.reset('reset',_('Reset'),class_="ui-btn large")}
            </div>
        </div>
    </div>
    ${h.end_form()}
</div>

<div style="min-height:780px" class="box box-right">
    <!-- box / title -->
    <div class="title">
        <h5>${_('Default User Permissions')}</h5>
    </div>

    ## permissions overview
    <div id="perms" class="table">
           %for section in sorted(c.perm_user.permissions.keys()):
              <div class="perms_section_head">${section.replace("_"," ").capitalize()}</div>
              %if not c.perm_user.permissions[section]:
                  <span class="empty_data">${_('Nothing here yet')}</span>
              %else:
              <div id='tbl_list_wrap_${section}' class="yui-skin-sam">
               <table id="tbl_list_${section}">
                <thead>
                    <tr>
                    <th class="left">${_('Name')}</th>
                    <th class="left">${_('Permission')}</th>
                    <th class="left">${_('Edit Permission')}</th>
                </thead>
                <tbody>
                %for k in sorted(c.perm_user.permissions[section], key=lambda s: s.lower):
                     <%
                     if section != 'global':
                         section_perm = c.perm_user.permissions[section].get(k)
                         _perm = section_perm.split('.')[-1]
                     else:
                         _perm = section_perm = None
                     %>
                    <tr>
                        <td>
                            %if section == 'repositories':
                                <a href="${h.url('summary_home',repo_name=k)}">${k}</a>
                            %elif section == 'repositories_groups':
                                <a href="${h.url('repos_group_home',group_name=k)}">${k}</a>
                            %else:
                                ${h.get_permission_name(k)}
                            %endif
                        </td>
                        <td>
                            %if section == 'global':
                             ${h.bool2icon(k.split('.')[-1] != 'none')}
                            %else:
                             <span class="perm_tag ${_perm}">${section_perm}</span>
                            %endif
                        </td>
                        <td>
                            %if section == 'repositories':
                                <a href="${h.url('edit_repo',repo_name=k,anchor='permissions_manage')}">${_('edit')}</a>
                            %elif section == 'repositories_groups':
                                <a href="${h.url('edit_repos_group',group_name=k,anchor='permissions_manage')}">${_('edit')}</a>
                            %else:
                                --
                            %endif
                        </td>
                    </tr>
                %endfor
                </tbody>
               </table>
              </div>
              %endif
           %endfor
    </div>
</div>
<div class="box box-left" style="clear:left">
    <!-- box / title -->
    <div class="title">
        <h5>${_('Allowed IP addresses')}</h5>
    </div>

    <div class="ips_wrap">
      <table class="noborder">
      %if c.user_ip_map:
        %for ip in c.user_ip_map:
          <tr>
              <td><div class="ip">${ip.ip_addr}</div></td>
              <td><div class="ip">${h.ip_range(ip.ip_addr)}</div></td>
              <td>
                ${h.form(url('user_ips_delete', id=c.user.user_id),method='delete')}
                    ${h.hidden('del_ip',ip.ip_id)}
                    ${h.hidden('default_user', 'True')}
                    ${h.submit('remove_',_('delete'),id="remove_ip_%s" % ip.ip_id,
                    class_="delete_icon action_button", onclick="return  confirm('"+_('Confirm to delete this ip: %s') % ip.ip_addr+"');")}
                ${h.end_form()}
              </td>
          </tr>
        %endfor
       %else:
        <tr><td><div class="ip">${_('All IP addresses are allowed')}</div></td></tr>
       %endif
      </table>
    </div>

    ${h.form(url('user_ips', id=c.user.user_id),method='put')}
    <div class="form">
        <!-- fields -->
        <div class="fields">
             <div class="field">
                <div class="label">
                    <label for="new_ip">${_('New ip address')}:</label>
                </div>
                <div class="input">
                    ${h.hidden('default_user', 'True')}
                    ${h.text('new_ip', class_='medium')}
                </div>
             </div>
            <div class="buttons">
              ${h.submit('save',_('Add'),class_="ui-btn large")}
              ${h.reset('reset',_('Reset'),class_="ui-btn large")}
            </div>
        </div>
    </div>
    ${h.end_form()}
</div>
</%def>