From 3b65e89f7cb464775cf91f322384358d30e8b4fe Mon Sep 17 00:00:00 2001 From: Oskar Hahn Date: Sun, 30 Mar 2014 10:54:09 +0200 Subject: [PATCH] fix user status view (activate, deactivate user without js) --- openslides/participant/views.py | 7 ++++--- tests/participant/test_views.py | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/openslides/participant/views.py b/openslides/participant/views.py index e33966b7c..dc90835ed 100644 --- a/openslides/participant/views.py +++ b/openslides/participant/views.py @@ -147,13 +147,14 @@ class UserDeleteView(DeleteView): super(UserDeleteView, self).pre_post_redirect(request, *args, **kwargs) -class SetUserStatusView(RedirectView, SingleObjectMixin): +class SetUserStatusView(SingleObjectMixin, RedirectView): """ Activate or deactivate an user. """ permission_required = 'participant.can_manage_participant' allow_ajax = True url_name = 'user_overview' + url_name_args = [] model = User def pre_redirect(self, request, *args, **kwargs): @@ -164,8 +165,8 @@ class SetUserStatusView(RedirectView, SingleObjectMixin): elif action == 'deactivate': if self.object.user == self.request.user: messages.error(request, _("You can not deactivate yourself.")) - return - self.object.is_active = False + else: + self.object.is_active = False elif action == 'toggle': self.object.is_active = not self.object.is_active self.object.save() diff --git a/tests/participant/test_views.py b/tests/participant/test_views.py index 13e7c1800..5ce3359c7 100644 --- a/tests/participant/test_views.py +++ b/tests/participant/test_views.py @@ -40,6 +40,10 @@ class UserViews(TestCase): 'is_active': 'yes'}) self.assertRedirects(response, '/participant/') + def test_activate(self): + response = self.client.get('/participant/1/status/activate/') + self.assertEqual(response.status_code, 302) + class GroupViews(TestCase): """