Ajouter le filtre des messages non interprétés
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
This commit is contained in:
parent
d10888c005
commit
0321a08b12
2 changed files with 23 additions and 3 deletions
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -270,6 +270,9 @@
|
|||
<div class="card">
|
||||
<div class="card-header d-flex justify-content-between align-items-center">
|
||||
<span><i class="bi bi-envelope"></i> Mails Outlook en base ({{ stats.outlook_mails }})</span>
|
||||
<a class="btn btn-sm {{ 'btn-primary' if missing_only else 'btn-outline-primary' }}" href="{{ url_for('admin.data_management', non_interpretes='0' if missing_only else '1') }}">
|
||||
<i class="bi bi-funnel"></i> {{ 'Afficher tous' if missing_only else 'Non interprétés uniquement' }}
|
||||
</a>
|
||||
</div>
|
||||
{% if mails.items %}
|
||||
<div class="table-responsive">
|
||||
|
|
@ -309,6 +312,7 @@
|
|||
{% endif %}
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">Non interprété</span>
|
||||
<br><small class="text-danger">{% 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 %}</small>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
|
|
@ -361,6 +365,9 @@
|
|||
<div class="card mt-3">
|
||||
<div class="card-header d-flex justify-content-between align-items-center">
|
||||
<span><i class="bi bi-broadcast"></i> Messages ENT en base ({{ stats.ent_messages }})</span>
|
||||
<a class="btn btn-sm {{ 'btn-primary' if missing_only else 'btn-outline-primary' }}" href="{{ url_for('admin.data_management', non_interpretes='0' if missing_only else '1') }}">
|
||||
<i class="bi bi-funnel"></i> {{ 'Afficher tous' if missing_only else 'Non interprétés uniquement' }}
|
||||
</a>
|
||||
</div>
|
||||
{% if ent_messages.items %}
|
||||
<div class="table-responsive">
|
||||
|
|
@ -400,6 +407,7 @@
|
|||
{% endif %}
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">Non interprété</span>
|
||||
<br><small class="text-danger">{% 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 %}</small>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
|
|
@ -448,4 +456,4 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
|||
Loading…
Reference in a new issue