Mercurial > kallithea
changeset 3827:ff57547c9cf7 beta
Add flag for permission check in _update_permissions function
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 23 Apr 2013 16:07:28 +0200 |
parents | 00e2c162d8bc |
children | f5270697be3e |
files | rhodecode/model/repo.py rhodecode/model/repos_group.py |
diffstat | 2 files changed, 14 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/model/repo.py Wed May 08 23:04:24 2013 +0200 +++ b/rhodecode/model/repo.py Tue Apr 23 16:07:28 2013 +0200 @@ -175,6 +175,7 @@ def get_repos_as_dict(self, repos_list=None, admin=False, perm_check=True, super_user_actions=False): _render = self._render_datatable + from pylons import tmpl_context as c def quick_menu(repo_name): return _render('quick_menu', repo_name) @@ -198,7 +199,6 @@ cs_cache.get('message')) def desc(desc): - from pylons import tmpl_context as c if c.visual.stylify_metatags: return h.urlify_text(h.desc_stylize(h.truncate(desc, 60))) else: @@ -460,8 +460,8 @@ enable_statistics, enable_locking, enable_downloads ) - def _update_permissions(self, repo, perms_new=None, - perms_updates=None): + def _update_permissions(self, repo, perms_new=None, perms_updates=None, + check_perms=True): if not perms_new: perms_new = [] if not perms_updates: @@ -476,8 +476,8 @@ ) else: #check if we have permissions to alter this usergroup - if HasUserGroupPermissionAny('usergroup.read', 'usergroup.write', - 'usergroup.admin')(member): + req_perms = ('usergroup.read', 'usergroup.write', 'usergroup.admin') + if not check_perms or HasUserGroupPermissionAny(*req_perms)(member): self.grant_users_group_permission( repo=repo, group_name=member, perm=perm ) @@ -489,8 +489,8 @@ ) else: #check if we have permissions to alter this usergroup - if HasUserGroupPermissionAny('usergroup.read', 'usergroup.write', - 'usergroup.admin')(member): + req_perms = ('usergroup.read', 'usergroup.write', 'usergroup.admin') + if not check_perms or HasUserGroupPermissionAny(*req_perms)(member): self.grant_users_group_permission( repo=repo, group_name=member, perm=perm )
--- a/rhodecode/model/repos_group.py Wed May 08 23:04:24 2013 +0200 +++ b/rhodecode/model/repos_group.py Tue Apr 23 16:07:28 2013 +0200 @@ -167,9 +167,11 @@ raise def _update_permissions(self, repos_group, perms_new=None, - perms_updates=None, recursive=False): + perms_updates=None, recursive=False, + check_perms=True): from rhodecode.model.repo import RepoModel from rhodecode.lib.auth import HasUserGroupPermissionAny + if not perms_new: perms_new = [] if not perms_updates: @@ -222,8 +224,8 @@ ## set for user group else: #check if we have permissions to alter this usergroup - if HasUserGroupPermissionAny('usergroup.read', 'usergroup.write', - 'usergroup.admin')(member): + req_perms = ('usergroup.read', 'usergroup.write', 'usergroup.admin') + if not check_perms or HasUserGroupPermissionAny(*req_perms)(member): _set_perm_group(obj, users_group=member, perm=perm) # set new permissions for member, perm, member_type in perms_new: @@ -231,8 +233,8 @@ _set_perm_user(obj, user=member, perm=perm) else: #check if we have permissions to alter this usergroup - if HasUserGroupPermissionAny('usergroup.read', 'usergroup.write', - 'usergroup.admin')(member): + req_perms = ('usergroup.read', 'usergroup.write', 'usergroup.admin') + if not check_perms or HasUserGroupPermissionAny(*req_perms)(member): _set_perm_group(obj, users_group=member, perm=perm) updates.append(obj) #if it's not recursive call