From e6c88ee5e5d985d3728e9c0d6f0e0e73a09781cd Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Fri, 24 Jan 2025 23:53:11 +0100
Subject: [PATCH] =?UTF-8?q?DSN:=20U=C5=BEivatel=20si=20m=C5=AF=C5=BEe=20zo?=
=?UTF-8?q?brazit=20sv=C3=A9=20nedoru=C4=8Denky?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
mo/web/acct.py | 15 +++++++++++++++
mo/web/templates/acct_dsn.html | 26 ++++++++++++++++++++++++++
2 files changed, 41 insertions(+)
create mode 100644 mo/web/templates/acct_dsn.html
diff --git a/mo/web/acct.py b/mo/web/acct.py
index 02c82928..01f001cc 100644
--- a/mo/web/acct.py
+++ b/mo/web/acct.py
@@ -674,6 +674,21 @@ def handle_forbidden(e):
return render_template('forbidden.html'), 403
+@app.route('/acct/dsn')
+def user_dsn():
+ sess = db.get_session()
+ user = g.user
+ if not user:
+ raise NeedLoginError()
+
+ dsns = (sess.query(db.EmailDSN)
+ .filter_by(user=user)
+ .order_by(db.EmailDSN.arrived_at.desc())
+ .all())
+
+ return render_template('acct_dsn.html', user=user, dsns=dsns)
+
+
if getattr(config, 'INSECURE_TEST_LOGIN', False):
@app.route('/test-login/<email>')
def test_login(email: str):
diff --git a/mo/web/templates/acct_dsn.html b/mo/web/templates/acct_dsn.html
new file mode 100644
index 00000000..ba0d4a38
--- /dev/null
+++ b/mo/web/templates/acct_dsn.html
@@ -0,0 +1,26 @@
+{% extends "base.html" %}
+{% block title %}Nedoručitelné e-maily{% endblock %}
+{% block body %}
+
+{% if dsns %}
+
+<p>
+ Tuto e-mailovou adresu považujeme za nefunkční, protože pošta na ni poslaná
+ se vrátila jako nedoručitelná. Zde jsou zprávy o nedoručitelnosti e-mailů z nedávné doby.
+</p>
+
+{% include "parts/dsn.html" %}
+
+{% else %}
+
+<p><em>Momentálně neevidujeme žádnou nedoručitelnou poštu.</em></p>
+
+{% endif %}
+
+<div class="btn-group">
+ <a class='btn btn-primary' href='{{ url_for('user_validate_email') }}'>Ověřit e-mail</a>
+ <a class='btn btn-primary' href='{{ url_for('user_settings_personal') }}'>Změnit e-mail</a>
+ <a class='btn btn-default' href="{{ url_for('user_settings') }}">Zpět na nastavení účtu</a>
+</div>
+
+{% endblock %}
--
GitLab