From 45cdcf5282cf8ba6e588735b8fb90ec275b27716 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 4 Mar 2013 14:45:21 +0100 Subject: [PATCH] added functions to give and take admin rights. --- urls.py | 2 ++ views.py | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/urls.py b/urls.py index 48f4ca6880..c7bc40c4be 100644 --- a/urls.py +++ b/urls.py @@ -74,6 +74,8 @@ urlpatterns = patterns('', (r'^useradmin/add/$', user_add), (r'^useradmin/remove/(?P[^/]+)/$', user_remove), + (r'^useradmin/makeadmin/(?P[^/]+)/$', user_make_admin), + (r'^useradmin/removeadmin/(?P[^/]+)/$', user_remove_admin), (r'^useradmin/info/(?P[^/]+)/$', user_info), (r'^useradmin/activate/(?P[^/]+)/$', activate_user), url(r'^useradmin/password/reset/(?P[^/]+)/$', user_reset, name='user_reset'), diff --git a/views.py b/views.py index 1271debd01..5b85e3968c 100644 --- a/views.py +++ b/views.py @@ -2063,6 +2063,32 @@ def user_remove(request, user_id): return HttpResponseRedirect(reverse('sys_useradmin')) +@login_required +@sys_staff_required +def user_make_admin(request, user_id): + """Remove user, also remove group relationship.""" + try: + user = User.objects.get(id=int(user_id)) + user.is_staff = True + user.save() + except User.DoesNotExist: + pass + + return HttpResponseRedirect(reverse('sys_useradmin')) + +@login_required +@sys_staff_required +def user_remove_admin(request, user_id): + """Remove user, also remove group relationship.""" + try: + user = User.objects.get(id=int(user_id)) + user.is_staff = False + user.save() + except User.DoesNotExist: + pass + + return HttpResponseRedirect(reverse('sys_useradmin')) + @login_required @sys_staff_required def activate_user(request, user_id):