From 0321a08b12265fc5504c0c9527565769e61b7e30 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 16 Aug 2026 13:32:55 +0000 Subject: [PATCH] =?UTF-8?q?Ajouter=20le=20filtre=20des=20messages=20non=20?= =?UTF-8?q?interpr=C3=A9t=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_new/core/routes/admin.py | 16 ++++++++++++++-- app_new/templates/admin/data_management.html | 10 +++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app_new/core/routes/admin.py b/app_new/core/routes/admin.py index f01a0e4..83920e8 100644 --- a/app_new/core/routes/admin.py +++ b/app_new/core/routes/admin.py @@ -347,7 +347,13 @@ def data_management(): page = request.args.get('page', 1, type=int) page_eq = request.args.get('equipments_page', 1, type=int) page_int = request.args.get('interventions_page', 1, type=int) - mails = OutlookMail.query.order_by(OutlookMail.received_at.desc()).paginate(page=page, per_page=25) + missing_only = request.args.get('non_interpretes') == '1' + if missing_only: + interpreted_mail_ids = db.session.query(OutlookMailInterpretation.mail_id).distinct() + mails_query = OutlookMail.query.filter(~OutlookMail.id.in_(interpreted_mail_ids)) + else: + mails_query = OutlookMail.query + mails = mails_query.order_by(OutlookMail.received_at.desc()).paginate(page=page, per_page=25) # Interventions recentes (pagine, non supprimees) interventions = Intervention.query.filter_by(is_deleted=False).order_by(Intervention.created_at.desc()).paginate(page=page_int, per_page=25) @@ -361,7 +367,12 @@ def data_management(): outlook_interp_map[interp.mail_id] = interp # Recuperer les messages ENT (pagine) - ent_messages = EntMessage.query.order_by(EntMessage.date.desc()).paginate(page=page, per_page=25) + if missing_only: + interpreted_ent_ids = db.session.query(EntMessageInterpretation.message_id).distinct() + ent_query = EntMessage.query.filter(~EntMessage.id.in_(interpreted_ent_ids)) + else: + ent_query = EntMessage.query + ent_messages = ent_query.order_by(EntMessage.date.desc()).paginate(page=page, per_page=25) # Pour chaque message ENT, verifier s'il a une interpretation ent_interp_map = {} @@ -381,6 +392,7 @@ def data_management(): outlook_interp_map=outlook_interp_map, ent_messages=ent_messages, ent_interp_map=ent_interp_map, + missing_only=missing_only, excluded_list=excluded_list) diff --git a/app_new/templates/admin/data_management.html b/app_new/templates/admin/data_management.html index 4cd5fed..a12fd3d 100644 --- a/app_new/templates/admin/data_management.html +++ b/app_new/templates/admin/data_management.html @@ -270,6 +270,9 @@
{% if mails.items %}
@@ -309,6 +312,7 @@ {% endif %} {% else %} Non interprété +
{% if mail.from_email and mail.from_email in excluded_list %}Expéditeur exclu{% else %}Aucune interprétation créée (échec ou traitement à venir){% endif %} {% endif %} @@ -361,6 +365,9 @@
{% if ent_messages.items %}
@@ -400,6 +407,7 @@ {% endif %} {% else %} Non interprété +
{% if msg.sender_name and msg.sender_name in excluded_list %}Expéditeur exclu{% else %}Aucune interprétation créée (échec ou traitement à venir){% endif %} {% endif %} @@ -448,4 +456,4 @@ {% endif %}
-{% endblock %} \ No newline at end of file +{% endblock %}