mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Make sure internal alias is disabled if account is disabled at creation
see #2429
This commit is contained in:
@@ -67,8 +67,13 @@ def manage_alias_for_mailbox(sender, instance, **kwargs):
|
||||
"""Create or update a "self alias" for mailbox (catchall)."""
|
||||
if kwargs.get("created"):
|
||||
alias, created = models.Alias.objects.get_or_create(
|
||||
address=instance.full_address, domain=instance.domain,
|
||||
internal=True)
|
||||
address=instance.full_address,
|
||||
domain=instance.domain,
|
||||
internal=True,
|
||||
defaults={
|
||||
"enabled": instance.user.enabled
|
||||
}
|
||||
)
|
||||
models.AliasRecipient.objects.create(
|
||||
address=instance.full_address, alias=alias, r_mailbox=instance)
|
||||
return
|
||||
|
||||
@@ -135,6 +135,26 @@ class AccountTestCase(ModoTestCase):
|
||||
self.ajax_post(reverse("admin:account_add"), values)
|
||||
self.assertTrue(alias.aliasrecipient_set.count() == 2)
|
||||
|
||||
def test_create_disabled_account(self):
|
||||
"""Check if account and alias are disabled."""
|
||||
values = {
|
||||
"username": "tester@test.com",
|
||||
"first_name": "Tester",
|
||||
"last_name": "Toto",
|
||||
"password1": "Toto1234",
|
||||
"password2": "Toto1234",
|
||||
"role": "SimpleUsers",
|
||||
"quota_act": True,
|
||||
"is_active": False,
|
||||
"email": "tester@test.com",
|
||||
"stepid": "step2"
|
||||
}
|
||||
self.ajax_post(reverse("admin:account_add"), values)
|
||||
account = User.objects.get(username=values["username"])
|
||||
self.assertEqual(account.enabled, False)
|
||||
alias = models.Alias.objects.get(address=account.email)
|
||||
self.assertEqual(alias.enabled, False)
|
||||
|
||||
def test_aliases_update_on_disable(self):
|
||||
"""Check if aliases are updated when account is disabled."""
|
||||
account = User.objects.get(username="user@test.com")
|
||||
|
||||
Reference in New Issue
Block a user