Mercurial > kallithea
diff rhodecode/controllers/admin/repos.py @ 3715:25dbbdae3ed9 beta
consistent handling of grant/revoke of permissions widgets
- use 1 method for users and for users groups
- use common JS for ajax revoke
- cleanup code
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 08 Apr 2013 23:49:08 +0200 |
parents | 7e3d89d9d3a2 |
children | a8f520540ab0 |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py Mon Apr 08 22:47:35 2013 +0200 +++ b/rhodecode/controllers/admin/repos.py Mon Apr 08 23:49:08 2013 +0200 @@ -51,6 +51,7 @@ from rhodecode.lib.compat import json from sqlalchemy.sql.expression import func from rhodecode.lib.exceptions import AttachedForksError +from rhodecode.lib.utils2 import safe_int log = logging.getLogger(__name__) @@ -340,42 +341,33 @@ return redirect(url('edit_repo', repo_name=repo_name)) @HasRepoPermissionAllDecorator('repository.admin') - def delete_perm_user(self, repo_name): + def delete_repo_perm_member(self, repo_name): """ DELETE an existing repository permission user :param repo_name: """ try: - RepoModel().revoke_user_permission(repo=repo_name, - user=request.POST['user_id']) + obj_type = request.POST.get('obj_type') + obj_id = None + if obj_type == 'user': + obj_id = safe_int(request.POST.get('user_id')) + elif obj_type == 'user_group': + obj_id = safe_int(request.POST.get('user_group_id')) + + if obj_type == 'user': + RepoModel().revoke_user_permission(repo=repo_name, user=obj_id) + elif obj_type == 'user_group': + RepoModel().revoke_users_group_permission( + repo=repo_name, group_name=obj_id + ) #TODO: implement this #action_logger(self.rhodecode_user, 'admin_revoked_repo_permissions', # repo_name, self.ip_addr, self.sa) Session().commit() except Exception: log.error(traceback.format_exc()) - h.flash(_('An error occurred during deletion of repository user'), - category='error') - raise HTTPInternalServerError() - - @HasRepoPermissionAllDecorator('repository.admin') - def delete_perm_users_group(self, repo_name): - """ - DELETE an existing repository permission user group - - :param repo_name: - """ - - try: - RepoModel().revoke_users_group_permission( - repo=repo_name, group_name=request.POST['users_group_id'] - ) - Session().commit() - except Exception: - log.error(traceback.format_exc()) - h.flash(_('An error occurred during deletion of repository' - ' user groups'), + h.flash(_('An error occurred during revoking of permission'), category='error') raise HTTPInternalServerError()