|
|
<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="ajaxActionUser(${r2p.user.user_id},'${'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="ajaxActionUserGroup(${g2p.users_group.users_group_id},'${'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 ajaxActionUser(user_id, field_id) {
|
|
|
var sUrl = "${h.url('delete_repos_group_user_perm',group_name=c.repos_group.group_name)}";
|
|
|
var callback = {
|
|
|
success: function (o) {
|
|
|
var tr = YUD.get(String(field_id));
|
|
|
tr.parentNode.removeChild(tr);
|
|
|
},
|
|
|
failure: function (o) {
|
|
|
alert("${_('Failed to remove user')}");
|
|
|
},
|
|
|
};
|
|
|
var recursive = YUD.get('recursive').checked;
|
|
|
var postData = '_method=delete&recursive={0}&user_id={1}'.format(recursive,user_id);
|
|
|
var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
|
|
|
};
|
|
|
|
|
|
function ajaxActionUserGroup(users_group_id,field_id){
|
|
|
var sUrl = "${h.url('delete_repos_group_users_group_perm',group_name=c.repos_group.group_name)}";
|
|
|
var callback = {
|
|
|
success:function(o){
|
|
|
var tr = YUD.get(String(field_id));
|
|
|
tr.parentNode.removeChild(tr);
|
|
|
},
|
|
|
failure:function(o){
|
|
|
alert("${_('Failed to remove user group')}");
|
|
|
},
|
|
|
};
|
|
|
var recursive = YUD.get('recursive').checked;
|
|
|
var postData = '_method=delete&recursive={0}&users_group_id={1}'.format(recursive,users_group_id);
|
|
|
var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
|
|
|
};
|
|
|
|
|
|
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>
|
|
|
|