diff --git a/app/dashboard/views/mailbox.py b/app/dashboard/views/mailbox.py index 0746387a..2fba1b5e 100644 --- a/app/dashboard/views/mailbox.py +++ b/app/dashboard/views/mailbox.py @@ -123,7 +123,12 @@ def mailbox_verify(): if not code: # Old way return verify_with_signed_secret(mailbox_id) - mailbox = mailbox_utils.verify_mailbox_code(current_user, mailbox_id, code) + try: + mailbox = mailbox_utils.verify_mailbox_code(current_user, mailbox_id, code) + except mailbox_utils.MailboxError as e: + LOG.i(f"Cannot verify mailbox {mailbox_id} because of {e}") + flash(f"Cannot verify mailbox: {e.msg}", "error") + return render_template("dashboard/mailbox_validation.html", mailbox=mailbox) LOG.d("Mailbox %s is verified", mailbox) return render_template("dashboard/mailbox_validation.html", mailbox=mailbox) diff --git a/app/models.py b/app/models.py index 96794d8c..9ad0ed1e 100644 --- a/app/models.py +++ b/app/models.py @@ -1660,18 +1660,6 @@ class Alias(Base, ModelMixin): Session.add(new_alias) DailyMetric.get_or_create_today_metric().nb_alias += 1 - # Internal import to avoid global import cycles - from app.events.event_dispatcher import EventDispatcher - from app.events.generated.event_pb2 import AliasCreated, EventContent - - event = AliasCreated( - alias_id=new_alias.id, - alias_email=new_alias.email, - alias_note=new_alias.note, - enabled=True, - ) - EventDispatcher.send_event(user, EventContent(alias_created=event)) - if ( new_alias.flags & cls.FLAG_PARTNER_CREATED > 0 and new_alias.user.flags & User.FLAG_CREATED_ALIAS_FROM_PARTNER == 0 @@ -1684,6 +1672,18 @@ class Alias(Base, ModelMixin): if flush: Session.flush() + # Internal import to avoid global import cycles + from app.events.event_dispatcher import EventDispatcher + from app.events.generated.event_pb2 import AliasCreated, EventContent + + event = AliasCreated( + alias_id=new_alias.id, + alias_email=new_alias.email, + alias_note=new_alias.note, + enabled=True, + ) + EventDispatcher.send_event(user, EventContent(alias_created=event)) + return new_alias @classmethod