diff --git a/modoboa/admin/tests/test_user.py b/modoboa/admin/tests/test_user.py index 08c7e61cf..4734ae3e6 100644 --- a/modoboa/admin/tests/test_user.py +++ b/modoboa/admin/tests/test_user.py @@ -1,3 +1,7 @@ +"""User related tests.""" + +import json + from django.core.urlresolvers import reverse from modoboa.core.models import User @@ -8,18 +12,25 @@ from ..models import Alias class ForwardTestCase(ModoTestCase): + """User forward test cases.""" def setUp(self): super(ForwardTestCase, self).setUp() populate_database() - def test_forward_permissions(self): + def test_set_forward(self): self.client.logout() self.client.login(username='user@test.com', password='toto') + url = reverse('user_forward') self.ajax_post( - reverse('user_forward'), + url, {'dest': 'user@extdomain.com', 'keepcopies': True} ) + response = self.client.get(url) + self.assertEqual(response.status_code, 200) + content = json.loads(response.content) + self.assertIn('user@extdomain.com', content["content"]) + self.assertNotIn('user@test.com', content["content"]) forward = Alias.objects.get(address='user@test.com', internal=False) sadmin = User.objects.get(username='admin') self.assertTrue(sadmin.can_access(forward)) diff --git a/modoboa/admin/views/user.py b/modoboa/admin/views/user.py index c39859725..9afa398a5 100644 --- a/modoboa/admin/views/user.py +++ b/modoboa/admin/views/user.py @@ -40,9 +40,11 @@ def forward(request, tplname="admin/forward.html"): form = ForwardForm() if al is not None and al.recipients: - form.fields["dest"].initial = al.recipients - if al.aliasrecipient_set.filter(r_mailbox=mb.pk).exists(): + recipients = list(al.recipients) + if al.aliasrecipient_set.filter(r_mailbox=mb).exists(): form.fields["keepcopies"].initial = True + recipients.remove(mb.full_address) + form.fields["dest"].initial = "\n".join(recipients) return render_to_json_response({ "content": _render_to_string(request, tplname, { "form": form