fix: wrongly set alias custom_domain when custom_domain is in EMAIL_ALIAS

This commit is contained in:
Son NK 2020-05-07 20:48:11 +02:00
parent f5efab940c
commit 806f7016ae
3 changed files with 16 additions and 18 deletions

View file

@ -66,10 +66,9 @@ def new_custom_alias():
if alias_suffix.startswith("@"): if alias_suffix.startswith("@"):
alias_domain = alias_suffix[1:] alias_domain = alias_suffix[1:]
if alias_domain not in ALIAS_DOMAINS: domain = CustomDomain.get_by(domain=alias_domain)
domain = CustomDomain.get_by(domain=alias_domain) LOG.d("set alias %s to domain %s", full_alias, domain)
LOG.d("set alias %s to domain %s", full_alias, domain) alias.custom_domain_id = domain.id
alias.custom_domain_id = domain.id
db.session.commit() db.session.commit()
@ -144,10 +143,9 @@ def new_custom_alias_v2():
if alias_suffix.startswith("@"): if alias_suffix.startswith("@"):
alias_domain = alias_suffix[1:] alias_domain = alias_suffix[1:]
if alias_domain not in ALIAS_DOMAINS: domain = CustomDomain.get_by(domain=alias_domain)
domain = CustomDomain.get_by(domain=alias_domain) LOG.d("set alias %s to domain %s", full_alias, domain)
LOG.d("set alias %s to domain %s", full_alias, domain) alias.custom_domain_id = domain.id
alias.custom_domain_id = domain.id
db.session.commit() db.session.commit()

View file

@ -8,7 +8,7 @@ from app.config import (
CUSTOM_ALIAS_SECRET, CUSTOM_ALIAS_SECRET,
) )
from app.dashboard.base import dashboard_bp from app.dashboard.base import dashboard_bp
from app.email_utils import email_belongs_to_alias_domains, get_email_domain_part from app.email_utils import email_belongs_to_alias_domains
from app.extensions import db from app.extensions import db
from app.log import LOG from app.log import LOG
from app.models import Alias, CustomDomain, DeletedAlias, Mailbox, User from app.models import Alias, CustomDomain, DeletedAlias, Mailbox, User
@ -101,11 +101,11 @@ def custom_alias():
) )
# get the custom_domain_id if alias is created with a custom domain # get the custom_domain_id if alias is created with a custom domain
alias_domain = get_email_domain_part(full_alias) if alias_suffix.startswith("@"):
custom_domain = CustomDomain.get_by(domain=alias_domain) alias_domain = alias_suffix[1:]
if custom_domain: domain = CustomDomain.get_by(domain=alias_domain)
LOG.d("Set alias %s domain to %s", full_alias, custom_domain) LOG.d("Set alias %s domain to %s", full_alias, domain)
alias.custom_domain_id = custom_domain.id alias.custom_domain_id = domain.id
db.session.commit() db.session.commit()
flash(f"Alias {full_alias} has been created", "success") flash(f"Alias {full_alias} has been created", "success")

View file

@ -187,10 +187,10 @@ def authorize():
) )
# get the custom_domain_id if alias is created with a custom domain # get the custom_domain_id if alias is created with a custom domain
alias_domain = get_email_domain_part(full_alias) if alias_suffix.startswith("@"):
custom_domain = CustomDomain.get_by(domain=alias_domain) alias_domain = alias_suffix[1:]
if custom_domain: domain = CustomDomain.get_by(domain=alias_domain)
alias.custom_domain_id = custom_domain.id alias.custom_domain_id = domain.id
db.session.flush() db.session.flush()
flash(f"Alias {full_alias} has been created", "success") flash(f"Alias {full_alias} has been created", "success")