Show More
@@ -90,13 +90,6 b' class RepoGroupsController(base.BaseCont' | |||||
90 |
|
90 | |||
91 | return data |
|
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 | def index(self, format='html'): |
|
93 | def index(self, format='html'): | |
101 | _list = db.RepoGroup.query(sorted=True).all() |
|
94 | _list = db.RepoGroup.query(sorted=True).all() | |
102 | group_iter = RepoGroupList(_list, perm_level='admin') |
|
95 | group_iter = RepoGroupList(_list, perm_level='admin') | |
@@ -349,11 +342,6 b' class RepoGroupsController(base.BaseCont' | |||||
349 | c.repo_group = db.RepoGroup.guess_instance(group_name) |
|
342 | c.repo_group = db.RepoGroup.guess_instance(group_name) | |
350 | valid_recursive_choices = ['none', 'repos', 'groups', 'all'] |
|
343 | valid_recursive_choices = ['none', 'repos', 'groups', 'all'] | |
351 | form_result = RepoGroupPermsForm(valid_recursive_choices)().to_python(request.POST) |
|
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 | recursive = form_result['recursive'] |
|
345 | recursive = form_result['recursive'] | |
358 | # iterate over all members(if in recursive mode) of this groups and |
|
346 | # iterate over all members(if in recursive mode) of this groups and | |
359 | # set the permissions ! |
|
347 | # set the permissions ! | |
@@ -379,11 +367,6 b' class RepoGroupsController(base.BaseCont' | |||||
379 | elif obj_type == 'user_group': |
|
367 | elif obj_type == 'user_group': | |
380 | obj_id = safe_int(request.POST.get('user_group_id')) |
|
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 | recursive = request.POST.get('recursive', 'none') |
|
370 | recursive = request.POST.get('recursive', 'none') | |
388 | if obj_type == 'user': |
|
371 | if obj_type == 'user': | |
389 | RepoGroupModel().delete_permission(repo_group=group_name, |
|
372 | RepoGroupModel().delete_permission(repo_group=group_name, |
@@ -12,9 +12,7 b'' | |||||
12 | </tr> |
|
12 | </tr> | |
13 | ## USERS |
|
13 | ## USERS | |
14 | %for r2p in c.repo_group.repo_group_to_perm: |
|
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 | <tr id="id${id(r2p.user.username)}"> |
|
15 | <tr id="id${id(r2p.user.username)}"> | |
17 | %if request.authuser.user_id != r2p.user.user_id or request.authuser.is_admin: |
|
|||
18 | <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none')}</td> |
|
16 | <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none')}</td> | |
19 | <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read')}</td> |
|
17 | <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read')}</td> | |
20 | <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write')}</td> |
|
18 | <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write')}</td> | |
@@ -34,17 +32,6 b'' | |||||
34 | </button> |
|
32 | </button> | |
35 | %endif |
|
33 | %endif | |
36 | </td> |
|
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 | </tr> |
|
35 | </tr> | |
49 | %endfor |
|
36 | %endfor | |
50 |
|
37 |
General Comments 0
You need to be logged in to leave comments.
Login now