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) %} + + + - + {% if user.disabled %} + + + {% else %} + + {% endif %} + + + {% if pu %} + + + {% else %} + + {% endif %}
User ID EmailStatus Paid Subscription Created AtUpdated AtConnected with Proton account
{{ user.id }} {{ user.email }}{{ "yes" if user.is_paid() else No }}DisabledEnabled{{ "yes" if user.is_paid() else "No" }} {{ user.get_active_subscription() }} {{ user.created_at }}{{ user.updated_at }}{{ pu.partner_email }}No
@@ -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 @@ - - - - + + + + {% for alias in aliases %} -
Alias IDEmailVerifiedCreated At + Alias ID + + Email + + Verified + + Created At +
{{ alias.id }} {{ alias.email }}