From ffd2ec5e81c1a38086240d20f30aafd0b45bd1cd Mon Sep 17 00:00:00 2001 From: Son Nguyen Kim Date: Sun, 5 Sep 2021 19:11:05 +0200 Subject: [PATCH] add filter by directory on dashboard --- app/api/serializer.py | 11 ++++++++++- app/dashboard/templates/dashboard/index.html | 8 ++++++++ app/dashboard/views/index.py | 6 +++++- app/models.py | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/app/api/serializer.py b/app/api/serializer.py index 2b9e2657..91849a46 100644 --- a/app/api/serializer.py +++ b/app/api/serializer.py @@ -129,7 +129,13 @@ def get_alias_infos_with_pagination(user, page_id=0, query=None) -> [AliasInfo]: def get_alias_infos_with_pagination_v3( - user, page_id=0, query=None, sort=None, alias_filter=None, mailbox_id=None + user, + page_id=0, + query=None, + sort=None, + alias_filter=None, + mailbox_id=None, + directory_id=None, ) -> [AliasInfo]: # subquery on alias annotated with nb_reply, nb_blocked, nb_forward, max_created_at, latest_email_log_created_at alias_activity_subquery = ( @@ -232,6 +238,9 @@ def get_alias_infos_with_pagination_v3( or_(Alias.mailbox_id == mailbox_id, AliasMailbox.mailbox_id == mailbox_id) ) + if directory_id: + q = q.filter(Alias.directory_id == directory_id) + if alias_filter == "enabled": q = q.filter(Alias.enabled) elif alias_filter == "disabled": diff --git a/app/dashboard/templates/dashboard/index.html b/app/dashboard/templates/dashboard/index.html index 1c878d84..2cc67e1f 100644 --- a/app/dashboard/templates/dashboard/index.html +++ b/app/dashboard/templates/dashboard/index.html @@ -192,6 +192,14 @@ {{ mailbox.email }}'s aliases {% endfor %} + + {% for directory in current_user.directories %} + + {% endfor %} +