forked from Github-Mirrors/canaille
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
from flask import current_app
|
|
from flask import flash
|
|
|
|
from canaille.app.i18n import gettext as _
|
|
from canaille.core.mails import send_compromised_password_check_failure_mail
|
|
|
|
|
|
def check_if_send_mail_to_admins(form, api_url, hashed_password_suffix):
|
|
if (
|
|
not current_app.features.has_smtp
|
|
or not current_app.config["CANAILLE"]["ADMIN_EMAIL"]
|
|
):
|
|
return
|
|
|
|
flash(
|
|
_(
|
|
"Password compromise investigation failed. "
|
|
"Please contact the administrators."
|
|
),
|
|
"error",
|
|
)
|
|
|
|
if form.user is not None:
|
|
user_name = form.user.user_name
|
|
user_email = form.user.emails[0]
|
|
else:
|
|
user_name = form["user_name"].data
|
|
user_email = form["emails"].data[0]
|
|
|
|
if send_compromised_password_check_failure_mail(
|
|
api_url,
|
|
user_name,
|
|
user_email,
|
|
hashed_password_suffix,
|
|
current_app.config["CANAILLE"]["ADMIN_EMAIL"],
|
|
):
|
|
flash(
|
|
_(
|
|
"We have informed your administrator about the failure of the password compromise investigation."
|
|
),
|
|
"info",
|
|
)
|
|
else:
|
|
flash(
|
|
_(
|
|
"An error occurred while communicating the incident to the administrators. "
|
|
"Please update your password as soon as possible. "
|
|
"If this still happens, please contact the administrators."
|
|
),
|
|
"error",
|
|
)
|