##// END OF EJS Templates
repo groups: make it possible to remove own explicit permissions, now when group owners always have admin permissions...
Mads Kiilerich -
r8772:2e1059de stable
parent child Browse files
Show More
@@ -90,13 +90,6 b' class RepoGroupsController(base.BaseCont'
90 90
91 91 return data
92 92
93 def _revoke_perms_on_yourself(self, form_result):
94 _up = [u for u in form_result['perms_updates'] if request.authuser.username == u[0]]
95 _new = [u for u in form_result['perms_new'] if request.authuser.username == u[0]]
96 if _new and _new[0][1] != 'group.admin' or _up and _up[0][1] != 'group.admin':
97 return True
98 return False
99
100 93 def index(self, format='html'):
101 94 _list = db.RepoGroup.query(sorted=True).all()
102 95 group_iter = RepoGroupList(_list, perm_level='admin')
@@ -349,11 +342,6 b' class RepoGroupsController(base.BaseCont'
349 342 c.repo_group = db.RepoGroup.guess_instance(group_name)
350 343 valid_recursive_choices = ['none', 'repos', 'groups', 'all']
351 344 form_result = RepoGroupPermsForm(valid_recursive_choices)().to_python(request.POST)
352 if not request.authuser.is_admin:
353 if self._revoke_perms_on_yourself(form_result):
354 msg = _('Cannot revoke permission for yourself as admin')
355 webutils.flash(msg, category='warning')
356 raise HTTPFound(location=url('edit_repo_group_perms', group_name=group_name))
357 345 recursive = form_result['recursive']
358 346 # iterate over all members(if in recursive mode) of this groups and
359 347 # set the permissions !
@@ -379,11 +367,6 b' class RepoGroupsController(base.BaseCont'
379 367 elif obj_type == 'user_group':
380 368 obj_id = safe_int(request.POST.get('user_group_id'))
381 369
382 if not request.authuser.is_admin:
383 if obj_type == 'user' and request.authuser.user_id == obj_id:
384 msg = _('Cannot revoke permission for yourself as admin')
385 webutils.flash(msg, category='warning')
386 raise Exception('revoke admin permission on self')
387 370 recursive = request.POST.get('recursive', 'none')
388 371 if obj_type == 'user':
389 372 RepoGroupModel().delete_permission(repo_group=group_name,
@@ -12,9 +12,7 b''
12 12 </tr>
13 13 ## USERS
14 14 %for r2p in c.repo_group.repo_group_to_perm:
15 ##forbid revoking permission from yourself, except if you're an super admin
16 15 <tr id="id${id(r2p.user.username)}">
17 %if request.authuser.user_id != r2p.user.user_id or request.authuser.is_admin:
18 16 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none')}</td>
19 17 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read')}</td>
20 18 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write')}</td>
@@ -34,17 +32,6 b''
34 32 </button>
35 33 %endif
36 34 </td>
37 %else:
38 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none', disabled="disabled")}</td>
39 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read', disabled="disabled")}</td>
40 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write', disabled="disabled")}</td>
41 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.admin', disabled="disabled")}</td>
42 <td>
43 ${h.gravatar(r2p.user.email, cls="perm-gravatar", size=14)}
44 ${r2p.user.username if r2p.user.username != 'default' else _('Default')}
45 </td>
46 <td><i class="icon-user"></i>${_('Admin')}</td>
47 %endif
48 35 </tr>
49 36 %endfor
50 37
General Comments 0
You need to be logged in to leave comments. Login now