From e9e01fd9d5012c628343da20a4f32b71c87e1461 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Fri, 18 Jul 2014 11:52:59 +0800 Subject: [PATCH] [sysadmin] Fix toggle user status bug --- .gitignore | 1 + seahub/urls.py | 2 +- seahub/views/sysadmin.py | 10 +++++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 235b2e3499..6aea96ce0d 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ notification_email.sh send_user_notifications.sh shutdown.sh cscope* +docs/_build/* \ No newline at end of file diff --git a/seahub/urls.py b/seahub/urls.py index c714c7ab41..a5f4730806 100644 --- a/seahub/urls.py +++ b/seahub/urls.py @@ -192,7 +192,7 @@ urlpatterns = patterns('', url(r'^useradmin/info/(?P[^/]+)/$', user_info, name='user_info'), url(r'^useradmin/activate/(?P[^/]+)/$', user_activate, name='user_activate'), url(r'^useradmin/deactivate/(?P[^/]+)/$', user_deactivate, name='user_deactivate'), - url(r'^useradmin/toggle_status/(?P[^/]+)/$', user_toggle_status, name='user_toggle_status'), + url(r'^useradmin/toggle_status/(?P[^/]+)/$', user_toggle_status, name='user_toggle_status'), url(r'^useradmin/toggle_role/(?P[^/]+)/$', user_toggle_role, name='user_toggle_role'), url(r'^useradmin/(?P[^/]+)/set_quota/$', user_set_quota, name='user_set_quota'), diff --git a/seahub/views/sysadmin.py b/seahub/views/sysadmin.py index bdc3f2220e..906ab4474d 100644 --- a/seahub/views/sysadmin.py +++ b/seahub/views/sysadmin.py @@ -476,19 +476,23 @@ def email_user_on_activation(user): } send_html_email(_(u'Your account on %s is activated') % SITE_NAME, 'sysadmin/user_activation_email.html', c, None, [user.email]) - + @login_required_ajax @sys_staff_required -def user_toggle_status(request, user_id): +def user_toggle_status(request, email): content_type = 'application/json; charset=utf-8' + if not is_valid_username(email): + return HttpResponse(json.dumps({'success': False}), status=400, + content_type=content_type) + try: user_status = int(request.GET.get('s', 0)) except ValueError: user_status = 0 try: - user = User.objects.get(id=int(user_id)) + user = User.objects.get(email) user.is_active = bool(user_status) user.save()