Files @ 9dd726706178
Branch filter:

Location: kallithea/rhodecode/templates/base/perms_summary.html

Bradley M. Kuhn
Complete copyright notices for web interface; change footer to link to them.

The original copyright notice found in the footer was not accurate as it
included only one of the many copyright holders in this project. This change
creates an "about" page, which currently contains just the copyright and
license information. It links to repository for additional potential copyright
holders not listed on the about page.

Unlisted contributors are mentioned in template comments.

Html links for Kallithea is fixed and we link to Conservancy.

Display of version information in the footer is improved.
## snippet for displaying permissions overview for users
## usage:
##    <%namespace name="p" file="/base/perms_summary.html"/>
##    ${p.perms_summary(c.perm_user.permissions)}

<%def name="perms_summary(permissions, show_all=False, actions=True)">
<div id="perms" class="table">
     %for section in sorted(permissions.keys()):
        <div class="perms_section_head">
            ${section.replace("_"," ").capitalize()}
            %if section != 'global':
                <div style="float: right">
                ${_('show')}:
                ${h.checkbox('perms_filter_none_%s' % section, 'none', 'checked', class_='perm_filter filter_%s' % section, section=section, perm_type='none')}   <label for="${'perms_filter_none_%s' % section}"><span class="perm_tag none">${_('none')}</span></label>
                ${h.checkbox('perms_filter_read_%s' % section, 'read', 'checked', class_='perm_filter filter_%s' % section, section=section, perm_type='read')}   <label for="${'perms_filter_read_%s' % section}"><span class="perm_tag read">${_('read')}</span></label>
                ${h.checkbox('perms_filter_write_%s' % section, 'write', 'checked', class_='perm_filter filter_%s' % section, section=section, perm_type='write')} <label for="${'perms_filter_write_%s' % section}"> <span class="perm_tag write">${_('write')}</span></label>
                ${h.checkbox('perms_filter_admin_%s' % section, 'admin', 'checked', class_='perm_filter filter_%s' % section, section=section, perm_type='admin')} <label for="${'perms_filter_admin_%s' % section}"><span class="perm_tag admin">${_('admin')}</span></label>
                </div>
            %endif
        </div>
        %if not permissions[section]:
            <span class="empty_data">${_('No permissions defined yet')}</span>
        %else:
        <div id='tbl_list_wrap_${section}' class="yui-skin-sam">
         <table id="tbl_list_${section}">
          ## global permission box
          %if section == 'global':
              <thead>
                  <tr>
                  <th colspan="2" class="left">${_('Permission')}</th>
                  %if actions:
                  <th class="left">${_('Edit Permission')}</th>
                  %endif
              </thead>
              <tbody>
              %for k in permissions[section]:
                  <tr>
                      <td colspan="2">
                          ${h.get_permission_name(k)}
                      </td>
                      %if actions:
                      <td>
                           <a href="${h.url('admin_permissions')}">${_('edit')}</a>
                      </td>
                      %endif
                  </tr>
              %endfor
              </tbody>
          %else:
             ## none/read/write/admin permissions on groups/repos etc
              <thead>
                  <tr>
                  <th class="left">${_('Name')}</th>
                  <th class="left">${_('Permission')}</th>
                  %if actions:
                  <th class="left">${_('Edit Permission')}</th>
                  %endif
              </thead>
              <tbody class="section_${section}">
              %for k, section_perm in sorted(permissions[section].items(), key=lambda s: {'none':0, 'read':1,'write':2,'admin':3}.get(s[1].split('.')[-1])):
                  %if section_perm.split('.')[-1] != 'none' or show_all:
                  <tr class="perm_row ${'%s_%s' % (section, section_perm.split('.')[-1])}">
                      <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>
                          %elif section == 'user_groups':
                              ##<a href="${h.url('edit_users_group',id=k)}">${k}</a>
                              ${k}
                          %endif
                      </td>
                      <td>
                           <span class="perm_tag ${section_perm.split('.')[-1]}">${section_perm}</span>
                      </td>
                      %if actions:
                      <td>
                          %if section == 'repositories':
                              <a href="${h.url('edit_repo_perms',repo_name=k,anchor='permissions_manage')}">${_('edit')}</a>
                          %elif section == 'repositories_groups':
                              <a href="${h.url('edit_repo_group_perms',group_name=k,anchor='permissions_manage')}">${_('edit')}</a>
                          %elif section == 'user_groups':
                              ##<a href="${h.url('edit_users_group',id=k)}">${_('edit')}</a>
                          %endif
                      </td>
                      %endif
                  </tr>
                  %endif
              %endfor
              <tr id="empty_${section}" style="display: none"><td colspan="6">${_('No permission defined')}</td></tr>
              </tbody>
          %endif
         </table>
        </div>
        %endif
     %endfor
</div>
<script>
    $(document).ready(function(){
        var show_empty = function(section){
            var visible = $('.section_{0} tr.perm_row:visible'.format(section)).length;
            console.log(visible)
            console.log($('.section_{0} tr.perm_row:visible'.format(section)))
            if(visible == 0){
                $('#empty_{0}'.format(section)).show();
            }
            else{
                $('#empty_{0}'.format(section)).hide();
            }
        }
        $('.perm_filter').on('change', function(e){
            var self = this;
            var section = $(this).attr('section');

            var opts = {}
            var elems = $('.filter_' + section).each(function(el){
                var perm_type = $(this).attr('perm_type');
                var checked = this.checked;
                opts[perm_type] = checked;
                if(checked){
                    $('.'+section+'_'+perm_type).show();
                }
                else{
                    $('.'+section+'_'+perm_type).hide();
                }
            });
            show_empty(section);
        })

    })
</script>
</%def>