From ae9c1309b9a9d56dbd7af7092518ab88a8f9c675 Mon Sep 17 00:00:00 2001 From: sebastien Date: Wed, 13 Nov 2024 16:20:30 +0100 Subject: [PATCH] adds pre-visualization mail buttons when api request on HIBP have failed in canaille/core/templates/mails/admin.html --- canaille/core/endpoints/admin.py | 44 ++++++++++++++++++++++++ canaille/core/mails.py | 2 +- canaille/core/templates/mails/admin.html | 14 ++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/canaille/core/endpoints/admin.py b/canaille/core/endpoints/admin.py index 8a3c6682..a231d2b4 100644 --- a/canaille/core/endpoints/admin.py +++ b/canaille/core/endpoints/admin.py @@ -286,3 +286,47 @@ def registration_txt(user, email): site_url=base_url, registration_url=registration_url, ) + + +@bp.route("/mail/compromised_password_check_failure.html") +@permissions_needed("manage_oidc") +def compromised_password_check_failure_html(user): + base_url = url_for("core.account.index", _external=True) + user_name = "" + check_password_url = "" + hashed_password = "" + user_email = "" + + return render_template( + "mails/compromised_password_check_failure.html", + site_name=current_app.config["CANAILLE"]["NAME"], + site_url=base_url, + user_name=user_name, + check_password_url=check_password_url, + hashed_password=hashed_password, + logo=current_app.config["CANAILLE"]["LOGO"], + user_email=user_email, + title=_("Compromised password check failure on {website_name}").format( + website_name=current_app.config["CANAILLE"]["NAME"] + ), + ) + + +@bp.route("/mail/compromised_password_check_failure.txt") +@permissions_needed("manage_oidc") +def compromised_password_check_failure_txt(user): + base_url = url_for("core.account.index", _external=True) + user_name = "" + check_password_url = "" + hashed_password = "" + user_email = "" + + return render_template( + "mails/compromised_password_check_failure.txt", + site_name=current_app.config["CANAILLE"]["NAME"], + site_url=base_url, + user_name=user_name, + check_password_url=check_password_url, + hashed_password=hashed_password, + user_email=user_email, + ) diff --git a/canaille/core/mails.py b/canaille/core/mails.py index fdd09d6b..0859314c 100644 --- a/canaille/core/mails.py +++ b/canaille/core/mails.py @@ -218,7 +218,7 @@ def send_compromised_password_check_failure_mail( base_url = url_for("core.account.index", _external=True) logo_cid, logo_filename, logo_raw = logo() - subject = _("compromised password check failure on {website_name}").format( + subject = _("Compromised password check failure on {website_name}").format( website_name=current_app.config["CANAILLE"]["NAME"] ) text_body = render_template( diff --git a/canaille/core/templates/mails/admin.html b/canaille/core/templates/mails/admin.html index f713cdc0..a3a4797e 100644 --- a/canaille/core/templates/mails/admin.html +++ b/canaille/core/templates/mails/admin.html @@ -134,6 +134,20 @@ + +
+
+
+ TXT + HTML +
+
+
+ {{ _("Compromised password check failure") }} +
+
+ + {% endblock %}