diff --git a/app/admin_model.py b/app/admin_model.py
index a97d41e8..517f07b6 100644
--- a/app/admin_model.py
+++ b/app/admin_model.py
@@ -33,6 +33,7 @@ from app.models import (
Mailbox,
DeletedAlias,
DomainDeletedAlias,
+ PartnerUser,
)
from app.newsletter_utils import send_newsletter_to_user, send_newsletter_to_address
@@ -747,22 +748,18 @@ class EmailSearchResult:
if alias:
output.alias = alias
output.no_match = False
- return output
user = User.get_by(email=email)
if user:
output.user = user
output.no_match = False
- return output
mailbox = Mailbox.get_by(email=email)
if mailbox:
output.mailbox = mailbox
output.no_match = False
- return output
deleted_alias = DeletedAlias.get_by(email=email)
if deleted_alias:
output.deleted_alias = deleted_alias
output.no_match = False
- return output
domain_deleted_alias = DomainDeletedAlias.get_by(email=email)
if domain_deleted_alias:
output.domain_deleted_alias = domain_deleted_alias
@@ -792,6 +789,10 @@ class EmailSearchHelpers:
def alias_count(user: User) -> int:
return Alias.filter_by(user_id=user.id).count()
+ @staticmethod
+ def partner_user(user: User) -> Optional[PartnerUser]:
+ return PartnerUser.get_by(user_id=user.id)
+
class EmailSearchAdmin(BaseView):
def is_accessible(self):
diff --git a/templates/admin/email_search.html b/templates/admin/email_search.html
index c51bc031..f0eddf62 100644
--- a/templates/admin/email_search.html
+++ b/templates/admin/email_search.html
@@ -2,23 +2,40 @@
{% macro show_user(user) -%}
User {{ user.email }} with ID {{ user.id }}.
+ {% set pu = helper.partner_user(user) %}
User ID |
Email |
+ Status |
Paid |
Subscription |
Created At |
+ Updated At |
+ Connected with Proton account |
{{ user.id }} |
{{ user.email }} |
- {{ "yes" if user.is_paid() else No }} |
+ {% if user.disabled %}
+
+ Disabled |
+ {% else %}
+ Enabled |
+ {% endif %}
+ {{ "yes" if user.is_paid() else "No" }} |
{{ user.get_active_subscription() }} |
{{ user.created_at }} |
+ {{ user.updated_at }} |
+ {% if pu %}
+
+ {{ pu.partner_email }} |
+ {% else %}
+ No |
+ {% endif %}
@@ -44,7 +61,9 @@
{{ mailbox.id }} |
{{ mailbox.email }} |
{{ "Yes" if mailbox.verified else "No" }} |
- {{ mailbox.created_at }} |
+
+ {{ mailbox.created_at }}
+ |
{% endfor %}
@@ -58,15 +77,22 @@
- Alias ID |
- Email |
- Verified |
- Created At |
+
+ Alias ID
+ |
+
+ Email
+ |
+
+ Verified
+ |
+
+ Created At
+ |
{% for alias in aliases %}
-
{{ alias.id }} |
{{ alias.email }} |