mirror of
https://github.com/simple-login/app.git
synced 2024-11-13 23:51:13 +01:00
Fix: If the alias is created for a partner domain, mark it as partner created (#2312)
This commit is contained in:
parent
f0012849dc
commit
813de9d40b
2 changed files with 26 additions and 1 deletions
|
@ -1666,6 +1666,11 @@ class Alias(Base, ModelMixin):
|
|||
custom_domain = Alias.get_custom_domain(email)
|
||||
if custom_domain:
|
||||
new_alias.custom_domain_id = custom_domain.id
|
||||
else:
|
||||
custom_domain = CustomDomain.get(kw["custom_domain_id"])
|
||||
# If it comes from a custom domain created from partner. Mark it as created from partner
|
||||
if custom_domain is not None and custom_domain.partner_id is not None:
|
||||
new_alias.flags = (new_alias.flags or 0) | Alias.FLAG_PARTNER_CREATED
|
||||
|
||||
Session.add(new_alias)
|
||||
DailyMetric.get_or_create_today_metric().nb_alias += 1
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from app.db import Session
|
||||
from app.models import Alias, Mailbox, AliasMailbox, User
|
||||
from app.models import Alias, Mailbox, AliasMailbox, User, CustomDomain
|
||||
from tests.utils import create_new_user, random_email
|
||||
|
||||
|
||||
|
@ -29,3 +29,23 @@ def test_alias_create_from_partner_flags_also_the_user():
|
|||
flush=True,
|
||||
)
|
||||
assert alias.user.flags & User.FLAG_CREATED_ALIAS_FROM_PARTNER > 0
|
||||
|
||||
|
||||
def test_alias_create_from_partner_domain_flags_the_alias():
|
||||
user = create_new_user()
|
||||
domain = CustomDomain.create(
|
||||
domain=random_email(),
|
||||
verified=True,
|
||||
user_id=user.id,
|
||||
partner_id=1,
|
||||
)
|
||||
Session.flush()
|
||||
email = random_email()
|
||||
alias = Alias.create(
|
||||
user_id=user.id,
|
||||
email=email,
|
||||
mailbox_id=user.default_mailbox_id,
|
||||
custom_domain_id=domain.id,
|
||||
flush=True,
|
||||
)
|
||||
assert alias.flags & Alias.FLAG_PARTNER_CREATED > 0
|
||||
|
|
Loading…
Reference in a new issue