Merge pull request #887 from tonioo/bugfix/forward_878

Bugfix: Forward
This commit is contained in:
Antoine Nguyen
2016-06-08 11:40:42 +02:00
2 changed files with 17 additions and 4 deletions
+13 -2
View File
@@ -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))
+4 -2
View File
@@ -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