diff --git a/src/postorius/tests/mailman_api_tests/test_list_members.py b/src/postorius/tests/mailman_api_tests/test_list_members.py index f88d40b..7779dd4 100644 --- a/src/postorius/tests/mailman_api_tests/test_list_members.py +++ b/src/postorius/tests/mailman_api_tests/test_list_members.py @@ -127,10 +127,9 @@ @MM_VCR.use_cassette('test_list_members_owner_add_remove.yaml') def test_add_remove_owner(self): - response = self.client.post( - reverse('list_members', args=('foo@example.com', 'owner',)), - {'email': 'newowner@example.com'}) - self.assertEqual(response.status_code, 200) + url = reverse('list_members', args=('foo@example.com', 'owner',)) + response = self.client.post(url, {'email': 'newowner@example.com'}) + self.assertRedirects(response, url) self.assertTrue('newowner@example.com' in self.foo_list.owners) self.client.post( reverse('remove_role', args=('foo@example.com', 'owner', @@ -144,10 +143,9 @@ self.su.is_superuser = False self.su.save() # It must still be allowed to create and remove owners - response = self.client.post( - reverse('list_members', args=('foo@example.com', 'owner',)), - {'email': 'newowner@example.com'}) - self.assertEqual(response.status_code, 200) + url = reverse('list_members', args=('foo@example.com', 'owner',)) + response = self.client.post(url, {'email': 'newowner@example.com'}) + self.assertRedirects(response, url) self.assertTrue('newowner@example.com' in self.foo_list.owners) response = self.client.post( reverse('remove_role', args=('foo@example.com', 'owner', @@ -203,10 +201,9 @@ 'su', 'su@example.com', 'pwd') # login and post new moderator data to url self.client.login(username='su', password='pwd') - response = self.client.post( - reverse('list_members', args=('foo@example.com', 'moderator',)), - {'email': 'newmod@example.com'}) - self.assertEqual(response.status_code, 200) + url = reverse('list_members', args=('foo@example.com', 'moderator',)) + response = self.client.post(url, {'email': 'newmod@example.com'}) + self.assertRedirects(response, url) moderators = self.foo_list.moderators @MM_VCR.use_cassette('test_list_members_add_moderator.yaml') diff --git a/src/postorius/views/list.py b/src/postorius/views/list.py index 971448a..b325630 100644 --- a/src/postorius/views/list.py +++ b/src/postorius/views/list.py @@ -59,6 +59,7 @@ for member in members: mailing_list.unsubscribe(member) messages.success(request, _('The selected members have been unsubscribed')) + return redirect('list_members', list_id, role) else: member_form = MemberForm(request.POST) if member_form.is_valid(): @@ -67,6 +68,7 @@ messages.success( request, _('%(email)s has been added with the role %(role)s.') % {'email': member_form.cleaned_data['email'], 'role': role}) + return redirect('list_members', list_id, role) except HTTPError as e: messages.error(request, _(e.msg)) else: