##// END OF EJS Templates
old style: don't let changelog buttons at the top influence changelog/graph floating
old style: don't let changelog buttons at the top influence changelog/graph floating

File last commit:

r4116:ffd45b18 rhodecode-2.2.5-gpl
r4149:30a683d0 rhodecode-2.2.5-gpl
Show More
perms_summary.html
132 lines | 6.2 KiB | text/html | HtmlLexer
## 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>