diff --git a/app/dashboard/__init__.py b/app/dashboard/__init__.py index 1a684cc4..2f432540 100644 --- a/app/dashboard/__init__.py +++ b/app/dashboard/__init__.py @@ -15,4 +15,5 @@ from .views import ( lifetime_licence, directory, mailbox, + deleted_alias, ) diff --git a/app/dashboard/templates/dashboard/deleted_alias.html b/app/dashboard/templates/dashboard/deleted_alias.html new file mode 100644 index 00000000..84832b16 --- /dev/null +++ b/app/dashboard/templates/dashboard/deleted_alias.html @@ -0,0 +1,25 @@ +{% extends 'default.html' %} + +{% block title %} + Deleted Aliases +{% endblock %} + +{% block head %} +{% endblock %} + +{% block default_content %} +
+

Deleted Aliases

+ + {% for deleted_alias in deleted_aliases %} +
+ {{ deleted_alias.email }} +
+ Deleted {{ deleted_alias.created_at | dt }} +
+
+ {% endfor %} + + +
+{% endblock %} \ No newline at end of file diff --git a/app/dashboard/templates/dashboard/setting.html b/app/dashboard/templates/dashboard/setting.html index a9040c6a..c2813bd1 100644 --- a/app/dashboard/templates/dashboard/setting.html +++ b/app/dashboard/templates/dashboard/setting.html @@ -135,10 +135,10 @@
- - -
+ + +
@@ -160,6 +160,22 @@ {% endif %} +
+
+
Deleted Aliases +
+ When an alias is deleted, all its activities are deleted and no emails can be sent to it.
+ It is moved to another location and only used to check when new alias is created.
+ This check is necessary to avoid someone else accidentally taking this alias.
+ Because in this case, the other person might receive inadvertently information that belong to you.
+
+
+ + See deleted aliases + +
+
+
Export Data diff --git a/app/dashboard/views/deleted_alias.py b/app/dashboard/views/deleted_alias.py new file mode 100644 index 00000000..20ce13f0 --- /dev/null +++ b/app/dashboard/views/deleted_alias.py @@ -0,0 +1,13 @@ +from flask import render_template +from flask_login import login_required, current_user + +from app.dashboard.base import dashboard_bp +from app.models import DeletedAlias + + +@dashboard_bp.route("/deleted_alias", methods=["GET", "POST"]) +@login_required +def deleted_alias_route(): + deleted_aliases = DeletedAlias.query.filter_by(user_id=current_user.id) + + return render_template("dashboard/deleted_alias.html", **locals()) diff --git a/server.py b/server.py index de159484..5931d7fa 100644 --- a/server.py +++ b/server.py @@ -49,6 +49,7 @@ from app.models import ( LifetimeCoupon, Directory, Mailbox, + DeletedAlias, ) from app.monitor.base import monitor_bp from app.oauth.base import oauth_bp @@ -184,6 +185,10 @@ def fake_data(): Mailbox.create(user_id=user.id, email="ab@cd.ef", verified=True) db.session.commit() + DeletedAlias.create(user_id=user.id, email="d1@ab.cd") + DeletedAlias.create(user_id=user.id, email="d2@ab.cd") + db.session.commit() + @login_manager.user_loader def load_user(user_id):