Merge pull request #2141 from jeromelebleu/fix/disable-internal-alias

Disable internal alias too with the account
This commit is contained in:
Antoine Nguyen
2021-01-26 15:44:26 +01:00
committed by GitHub
2 changed files with 9 additions and 4 deletions
+2 -3
View File
@@ -206,9 +206,8 @@ class AccountFormGeneral(forms.ModelForm):
account.role = self.cleaned_data["role"]
if hasattr(account, "mailbox"):
# Update forward status according to account status
models.Alias.objects.filter(
address=account.email, internal=False).update(
enabled=account.is_active)
models.Alias.objects.filter(address=account.email).update(
enabled=account.is_active)
return account
+7 -1
View File
@@ -119,8 +119,10 @@ class AccountTestCase(ModoTestCase):
account = User.objects.get(username=values["username"])
self.assertEqual(account.language, "fr")
def test_forward_updated_on_edit(self):
def test_aliases_update_on_disable(self):
"""Check if aliases are updated when account is disabled."""
account = User.objects.get(username="user@test.com")
internal = models.Alias.objects.get(address=account.email, internal=True)
forward = models.Alias.objects.create(address=account.email, internal=False)
values = {
"username": "user@test.com",
@@ -133,12 +135,16 @@ class AccountTestCase(ModoTestCase):
self.ajax_post(
reverse("admin:account_change", args=[account.id]), values
)
internal.refresh_from_db()
self.assertFalse(internal.enabled)
forward.refresh_from_db()
self.assertFalse(forward.enabled)
values["is_active"] = True
self.ajax_post(
reverse("admin:account_change", args=[account.id]), values
)
internal.refresh_from_db()
self.assertTrue(internal.enabled)
forward.refresh_from_db()
self.assertTrue(forward.enabled)