diff --git a/app/models.py b/app/models.py index ed30ca52..00793eff 100644 --- a/app/models.py +++ b/app/models.py @@ -683,6 +683,9 @@ class User(Base, ModelMixin, UserMixin, PasswordOracle): Whether user can create a new alias. User can't create a new alias if - has more than 15 aliases in the free plan, *even in the free trial* """ + if self.disabled: + return False + if self.lifetime_or_active_subscription(): return True else: diff --git a/tests/test_models.py b/tests/test_models.py index 1fb8f5f0..c9f1b699 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -250,3 +250,11 @@ def test_EnumE(): assert E.get_value("A") == 100 assert E.get_value("Not existent") is None + + +def test_can_create_new_alias_disabled_user(): + user = create_new_user() + assert user.can_create_new_alias() + + user.disabled = True + assert not user.can_create_new_alias()