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