Skip to content
Snippets Groups Projects
Commit 010069d3 authored by Martin Mareš's avatar Martin Mareš
Browse files

Při změně e-mailu posíláme potvrzovací mail na *novou* adresu

parent 18a42658
No related branches found
No related tags found
No related merge requests found
......@@ -69,7 +69,7 @@ def send_email(send_to: str, full_name: str, subject: str, body: str) -> bool:
return True
def send_user_email(user: db.User, subject: str, body: str, add_footer: bool = False) -> bool:
def send_user_email(user: db.User, subject: str, body: str, add_footer: bool = False, override_email: Optional[str] = None) -> bool:
logger.info(f'Mail: "{subject}" -> {user.email} (#{user.user_id})')
if add_footer:
......@@ -77,7 +77,7 @@ def send_user_email(user: db.User, subject: str, body: str, add_footer: bool = F
body += "Pokud nechcete tyto e-maily dostávat, vypněte si notifikace v nastavení\n"
body += f"svého účtu na {settings_url()}."
return send_email(user.email, user.full_name(), 'OSMO – ' + subject, body)
return send_email(override_email or user.email, user.full_name(), 'OSMO – ' + subject, body)
def activate_url(token: str) -> str:
......@@ -136,7 +136,7 @@ def send_confirm_create_email(user: db.User, token: str) -> bool:
'''.format(confirm_url('r', token))))
def send_confirm_change_email(user: db.User, token: str) -> bool:
def send_confirm_change_email(user: db.User, token: str, new_email: str) -> bool:
return send_user_email(user, 'Změna e-mailové adresy', textwrap.dedent('''\
Někdo (pravděpodobně Vy) požádal o nastavení e-mailové adresy k účtu
v Odevzdávacím systému Matematické olympiády na tuto adresu.
......@@ -145,7 +145,7 @@ def send_confirm_change_email(user: db.User, token: str) -> bool:
{}
Váš OSMO
'''.format(confirm_url('e', token))))
'''.format(confirm_url('e', token))), override_email=new_email)
def send_join_notify_email(dest: db.User, who: db.User, contest: db.Contest) -> bool:
......
......@@ -205,7 +205,7 @@ def user_settings_personal():
sess.commit()
app.logger.info(f'Settings: Požadavek na změnu e-mailu uživatele #{user.user_id}')
flash('Odeslán e-mail s odkazem na potvrzení nové adresy.', 'success')
mo.email.send_confirm_change_email(user, rr.email_token)
mo.email.send_confirm_change_email(user, rr.email_token, new_email=rr.email)
else:
app.logger.info('Settings: Rate limit')
flash('Příliš mnoho požadavků na změny e-mailu. Počkejte prosím chvíli a zkuste to znovu.', 'danger')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment