From 45cdcf5282cf8ba6e588735b8fb90ec275b27716 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 4 Mar 2013 14:45:21 +0100 Subject: [PATCH 1/2] 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): From b2ca170252255ccde3f7c44ad5360343dc3218c9 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 4 Mar 2013 14:45:44 +0100 Subject: [PATCH 2/2] Admins can now give and take admin rights from useradmin inteface --- templates/sys_useradmin.html | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/templates/sys_useradmin.html b/templates/sys_useradmin.html index 0013d6943f..05c7c0b4fc 100644 --- a/templates/sys_useradmin.html +++ b/templates/sys_useradmin.html @@ -13,9 +13,9 @@

{% trans "All Members" %}

- + - + {% for user in users %} @@ -30,6 +30,11 @@ {% if not user.is_self %} {% trans "Delete" %}{% trans "ResetPwd" %} + {% if user.is_staff %} + {% trans "Take Admin" %} + {% else %} + {% trans "Give Admin" %} + {% endif %} {% endif %}
{% trans "Email" %}{% trans "Email" %} {% trans "Status" %}{% trans "Operations" %}{% trans "Operations" %}