Mercurial > kallithea
comparison rhodecode/controllers/admin/repos_groups.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 | 1e5bb8ed77d6 |
comparison
equal
deleted
inserted
replaced
3714:7e3d89d9d3a2 | 3715:25dbbdae3ed9 |
---|---|
292 Session().commit() | 292 Session().commit() |
293 h.flash(_('Repository Group permissions updated'), category='success') | 293 h.flash(_('Repository Group permissions updated'), category='success') |
294 return redirect(url('edit_repos_group', group_name=group_name)) | 294 return redirect(url('edit_repos_group', group_name=group_name)) |
295 | 295 |
296 @HasReposGroupPermissionAnyDecorator('group.admin') | 296 @HasReposGroupPermissionAnyDecorator('group.admin') |
297 def delete_repos_group_user_perm(self, group_name): | 297 def delete_repo_group_perm_member(self, group_name): |
298 """ | 298 """ |
299 DELETE an existing repository group permission user | 299 DELETE an existing repository group permission user |
300 | 300 |
301 :param group_name: | 301 :param group_name: |
302 """ | 302 """ |
303 try: | 303 try: |
304 obj_type = request.POST.get('obj_type') | |
305 obj_id = None | |
306 if obj_type == 'user': | |
307 obj_id = safe_int(request.POST.get('user_id')) | |
308 elif obj_type == 'user_group': | |
309 obj_id = safe_int(request.POST.get('user_group_id')) | |
310 | |
304 if not c.rhodecode_user.is_admin: | 311 if not c.rhodecode_user.is_admin: |
305 if c.rhodecode_user.user_id == safe_int(request.POST['user_id']): | 312 if obj_type == 'user' and c.rhodecode_user.user_id == obj_id: |
306 msg = _('Cannot revoke permission for yourself as admin') | 313 msg = _('Cannot revoke permission for yourself as admin') |
307 h.flash(msg, category='warning') | 314 h.flash(msg, category='warning') |
308 raise Exception('revoke admin permission on self') | 315 raise Exception('revoke admin permission on self') |
309 recursive = str2bool(request.POST.get('recursive', False)) | 316 recursive = str2bool(request.POST.get('recursive', False)) |
310 ReposGroupModel().delete_permission( | 317 if obj_type == 'user': |
311 repos_group=group_name, obj=request.POST['user_id'], | 318 ReposGroupModel().delete_permission( |
312 obj_type='user', recursive=recursive | 319 repos_group=group_name, obj=obj_id, |
313 ) | 320 obj_type='user', recursive=recursive |
321 ) | |
322 elif obj_type == 'user_group': | |
323 ReposGroupModel().delete_permission( | |
324 repos_group=group_name, obj=obj_id, | |
325 obj_type='users_group', recursive=recursive | |
326 ) | |
327 | |
314 Session().commit() | 328 Session().commit() |
315 except Exception: | 329 except Exception: |
316 log.error(traceback.format_exc()) | 330 log.error(traceback.format_exc()) |
317 h.flash(_('An error occurred during deletion of group user'), | 331 h.flash(_('An error occurred during revoking of permission'), |
318 category='error') | |
319 raise HTTPInternalServerError() | |
320 | |
321 @HasReposGroupPermissionAnyDecorator('group.admin') | |
322 def delete_repos_group_users_group_perm(self, group_name): | |
323 """ | |
324 DELETE an existing repository group permission user group | |
325 | |
326 :param group_name: | |
327 """ | |
328 | |
329 try: | |
330 recursive = str2bool(request.POST.get('recursive', False)) | |
331 ReposGroupModel().delete_permission( | |
332 repos_group=group_name, obj=request.POST['users_group_id'], | |
333 obj_type='users_group', recursive=recursive | |
334 ) | |
335 Session().commit() | |
336 except Exception: | |
337 log.error(traceback.format_exc()) | |
338 h.flash(_('An error occurred during deletion of group' | |
339 ' user groups'), | |
340 category='error') | 332 category='error') |
341 raise HTTPInternalServerError() | 333 raise HTTPInternalServerError() |
342 | 334 |
343 def show_by_name(self, group_name): | 335 def show_by_name(self, group_name): |
344 """ | 336 """ |