mirror of
https://github.com/simple-login/app.git
synced 2024-11-10 21:27:10 +01:00
Ensure mailbox verifcation exception is caught and show proper error to the user
This commit is contained in:
parent
cc44247482
commit
9f33764068
@ -123,7 +123,12 @@ def mailbox_verify():
|
|||||||
if not code:
|
if not code:
|
||||||
# Old way
|
# Old way
|
||||||
return verify_with_signed_secret(mailbox_id)
|
return verify_with_signed_secret(mailbox_id)
|
||||||
|
try:
|
||||||
mailbox = mailbox_utils.verify_mailbox_code(current_user, mailbox_id, code)
|
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)
|
LOG.d("Mailbox %s is verified", mailbox)
|
||||||
return render_template("dashboard/mailbox_validation.html", mailbox=mailbox)
|
return render_template("dashboard/mailbox_validation.html", mailbox=mailbox)
|
||||||
|
|
||||||
|
@ -1660,18 +1660,6 @@ class Alias(Base, ModelMixin):
|
|||||||
Session.add(new_alias)
|
Session.add(new_alias)
|
||||||
DailyMetric.get_or_create_today_metric().nb_alias += 1
|
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 (
|
if (
|
||||||
new_alias.flags & cls.FLAG_PARTNER_CREATED > 0
|
new_alias.flags & cls.FLAG_PARTNER_CREATED > 0
|
||||||
and new_alias.user.flags & User.FLAG_CREATED_ALIAS_FROM_PARTNER == 0
|
and new_alias.user.flags & User.FLAG_CREATED_ALIAS_FROM_PARTNER == 0
|
||||||
@ -1684,6 +1672,18 @@ class Alias(Base, ModelMixin):
|
|||||||
if flush:
|
if flush:
|
||||||
Session.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
|
return new_alias
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
Loading…
Reference in New Issue
Block a user