Mercurial > kallithea
view rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html @ 3788:d9b89874edf9 beta
UserGroup on UserGroup permissions implementation.
- user group can have another usergroup assigned
- it's impossible to assign usergroup on the same usergroup
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 23 Apr 2013 02:18:31 +0200 |
parents | 25dbbdae3ed9 |
children | 5293d4bbb1ea |
line wrap: on
line source
<table id="permissions_manage" class="noborder"> <tr> <td>${_('none')}</td> <td>${_('read')}</td> <td>${_('write')}</td> <td>${_('admin')}</td> <td>${_('member')}</td> <td></td> </tr> ## USERS %for r2p in c.repos_group.repo_group_to_perm: ##forbid revoking permission from yourself <tr id="id${id(r2p.user.username)}"> %if c.rhodecode_user.user_id != r2p.user.user_id or c.rhodecode_user.is_admin: <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none')}</td> <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read')}</td> <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write')}</td> <td>${h.radio('u_perm_%s' % r2p.user.username,'group.admin')}</td> <td style="white-space: nowrap;"> <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username if r2p.user.username != 'default' else _('default')} </td> <td> %if r2p.user.username !='default': <span class="delete_icon action_button" onclick="ajaxActionRevoke(${r2p.user.user_id}, 'user', '${'id%s'%id(r2p.user.username)}')"> ${_('revoke')} </span> %endif </td> %else: <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none', disabled="disabled")}</td> <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read', disabled="disabled")}</td> <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write', disabled="disabled")}</td> <td>${h.radio('u_perm_%s' % r2p.user.username,'group.admin', disabled="disabled")}</td> <td style="white-space: nowrap;"> <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username if r2p.user.username != 'default' else _('default')} </td> <td> </td> %endif </tr> %endfor ## USER GROUPS %for g2p in c.repos_group.users_group_to_perm: <tr id="id${id(g2p.users_group.users_group_name)}"> <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.none')}</td> <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.read')}</td> <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.write')}</td> <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.admin')}</td> <td style="white-space: nowrap;"> <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>${g2p.users_group.users_group_name} </td> <td> <span class="delete_icon action_button" onclick="ajaxActionRevoke(${g2p.users_group.users_group_id}, 'user_group', '${'id%s'%id(g2p.users_group.users_group_name)}')"> ${_('revoke')} </span> </td> </tr> %endfor <% _tmpl = h.literal("""' \ <td><input type="radio" value="group.none" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \ <td><input type="radio" value="group.read" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \ <td><input type="radio" value="group.write" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \ <td><input type="radio" value="group.admin" name="perm_new_member_{0}" id="perm_new_member_{0}"></td> \ <td class="ac"> \ <div class="perm_ac" id="perm_ac_{0}"> \ <input class="yui-ac-input" id="perm_new_member_name_{0}" name="perm_new_member_name_{0}" value="" type="text"> \ <input id="perm_new_member_type_{0}" name="perm_new_member_type_{0}" value="" type="hidden"> \ <div id="perm_container_{0}"></div> \ </div> \ </td> \ <td></td>'""") %> ## ADD HERE DYNAMICALLY NEW INPUTS FROM THE '_tmpl' <tr class="new_members last_new_member" id="add_perm_input"></tr> <tr> <td colspan="6"> <span id="add_perm" class="add_icon" style="cursor: pointer;"> ${_('Add another member')} </span> </td> </tr> <tr> <td colspan="6"> ${h.checkbox('recursive',value="True", label=_('apply to children'))} <span class="help-block">${_('Set or revoke permission to all children of that group, including non-private repositories and other groups')}</span> </td> </tr> </table> <script type="text/javascript"> function ajaxActionRevoke(obj_id, obj_type, field_id) { url = "${h.url('delete_repo_group_perm_member', group_name=c.repos_group.group_name)}"; ajaxActionRevokePermission(url, obj_id, obj_type, field_id, {recursive:YUD.get('recursive').checked}); }; YUE.onDOMReady(function () { if (!YUD.hasClass('perm_new_member_name', 'error')) { YUD.setStyle('add_perm_input', 'display', 'none'); } YAHOO.util.Event.addListener('add_perm', 'click', function () { addPermAction(${_tmpl}, ${c.users_array|n}, ${c.users_groups_array|n}); }); }); </script>