Mercurial > kallithea
view kallithea/templates/base/perms_summary.html @ 6996:647e7e0ce812
less: use bootstrap class .text-muted instead of custom one
author | domruf <dominikruf@gmail.com> |
---|---|
date | Fri, 27 Oct 2017 20:05:18 +0200 |
parents | 84b339875fbf |
children | 97ea346aa4bd |
line wrap: on
line source
## 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"> %for section in sorted(permissions.keys()): <div class="perms_section_head"> <h4>${section.replace("_"," ").capitalize()}</h4> %if section != 'global': <div class="pull-right"> ${_('Show')}: <label>${h.checkbox('perms_filter_none_%s' % section, 'none', 'checked', class_='perm_filter filter_%s' % section, **{'data-section':section, 'data-perm_type':'none'})}<span class="perm_tag none">${_('None')}</span></label> <label>${h.checkbox('perms_filter_read_%s' % section, 'read', 'checked', class_='perm_filter filter_%s' % section, **{'data-section':section, 'data-perm_type':'read'})}<span class="perm_tag read">${_('Read')}</span></label> <label>${h.checkbox('perms_filter_write_%s' % section, 'write', 'checked', class_='perm_filter filter_%s' % section, **{'data-section':section, 'data-perm_type':'write'})}<span class="perm_tag write">${_('Write')}</span></label> <label>${h.checkbox('perms_filter_admin_%s' % section, 'admin', 'checked', class_='perm_filter filter_%s' % section, **{'data-section':section, 'data-perm_type':'admin'})}<span class="perm_tag admin">${_('Admin')}</span></label> </div> %endif </div> %if not permissions[section]: <span class="text-muted">${_('No permissions defined yet')}</span> %else: <div id='tbl_list_wrap_${section}'> <table id="tbl_list_${section}" class="table"> ## global permission box %if section == 'global': <thead> <tr> <th class="left">${_('Permission')}</th> %if actions: <th class="left">${_('Edit Permission')}</th> %endif </tr> </thead> <tbody> %for k in permissions[section]: <tr> <td> ${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 </tr> </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="${3 if actions else 2}">${_('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; if(visible == 0){ $('#empty_{0}'.format(section)).show(); } else{ $('#empty_{0}'.format(section)).hide(); } } var update_show = function($checkbox){ var section = $checkbox.data('section'); var elems = $('.filter_' + section).each(function(el){ var perm_type = $checkbox.data('perm_type'); var checked = $checkbox.prop('checked'); if(checked){ $('.'+section+'_'+perm_type).show(); } else{ $('.'+section+'_'+perm_type).hide(); } }); show_empty(section); } $('.perm_filter').on('change', function(){update_show($(this));}); $('.perm_filter[value=none]').each(function(){this.checked = false; update_show($(this));}); }); </script> </%def>