gmao/app_new/templates/ent/inbox.html
2026-08-14 16:02:25 +00:00

153 lines
No EOL
6.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "base.html" %}
{% block title %}Boîte de réception ENT77 - GMAO{% endblock %}
{% block content %}
<div class="container-fluid py-4">
<div class="d-flex justify-content-between align-items-center mb-4">
<h4><i class="bi bi-envelope me-2"></i>Boîte de réception ENT77</h4>
<div class="d-flex gap-2">
<form method="POST" action="{{ url_for('ent.reset_last_msg') }}" class="show-progress-form" data-progress-text="Réinitialisation…" data-confirm="Supprimer le dernier message traité ? Le prochain scan re-scannera toute la boîte.">
<button type="submit" class="btn btn-outline-warning btn-sm">
<i class="bi bi-skip-backward me-1"></i>Reset dernier msg
</button>
</form>
<form method="POST" action="{{ url_for('ent.import_first_messages') }}" class="show-progress-form" data-progress-text="Import des messages ENT…" data-confirm="Importer les 5 premiers messages de la boîte ENT ?">
<button type="submit" class="btn btn-outline-success btn-sm">
<i class="bi bi-download me-1"></i>Importer 5 messages
</button>
</form>
<form method="POST" action="{{ url_for('ent.check_all_messages') }}" class="show-progress-form" data-progress-text="Import de TOUS les messages ENT (lus et non lus)…">
{{ manual_form.hidden_tag() }}
<button type="submit" class="btn btn-primary">
<i class="bi bi-arrow-repeat me-1"></i>Vérifier maintenant (tous)
</button>
</form>
</div>
</div>
{% if config %}
<div class="row mb-4">
<div class="col-md-3">
<div class="card bg-light text-center p-2">
<small class="text-muted">Intervalle</small>
<strong>{{ config.check_interval_minutes }} min</strong>
</div>
</div>
<div class="col-md-3">
<div class="card bg-light text-center p-2">
<small class="text-muted">Horaires</small>
<strong>{{ config.work_start_hour }}h{{ config.work_end_hour }}h</strong>
</div>
</div>
<div class="col-md-3">
<div class="card text-center p-2 {% if config.is_enabled %}bg-success-subtle{% else %}bg-secondary-subtle{% endif %}">
<small class="text-muted">Statut</small>
<strong>{% if config.is_enabled %}✅ Actif{% else %}⏸️ Désactivé{% endif %}</strong>
</div>
</div>
<div class="col-md-3">
<div class="card bg-light text-center p-2">
<small class="text-muted">Auto-création</small>
<strong>{% if config.auto_create_intervention %}🟢 Oui{% else %}🔴 Non{% endif %}</strong>
</div>
</div>
</div>
{% endif %}
{% if messages %}
<div class="alert alert-info mb-3">
<i class="bi bi-info-circle me-2"></i>
<strong>Dernier message importé :</strong>
"{{ messages[0].subject[:80] }}{% if messages[0].subject|length > 80 %}...{% endif %}"
</div>
{% endif %}
{% if messages %}
<div class="table-responsive">
<table class="table table-hover align-middle">
<thead class="table-dark">
<tr>
<th style="width:40px;"></th>
<th>Date</th>
<th>Expéditeur</th>
<th>Objet</th>
<th>Type</th>
<th>Intervention</th>
<th style="width:130px;">Actions</th>
</tr>
</thead>
<tbody>
{% for msg in messages %}
<tr class="{% if msg.is_unread %}fw-bold{% endif %}">
<td>
{% if msg.is_unread %}<span class="badge bg-primary"></span>{% endif %}
</td>
<td class="small">
{{ msg.date.strftime('%d/%m/%Y %H:%M') if msg.date else '—' }}
</td>
<td>
{{ msg.sender_name[:50] }}{% if msg.sender_name|length > 50 %}…{% endif %}
{% if msg.is_forwarded and msg.original_sender %}
<br><small class="text-muted">↳ {{ msg.original_sender[:50] }}{% if msg.original_sender|length > 50 %}…{% endif %}</small>
{% endif %}
</td>
<td>
<a href="{{ url_for('ent.message_detail', msg_id=msg.id) }}">
{{ msg.subject[:60] }}{% if msg.subject|length > 60 %}…{% endif %}
</a>
{% if msg.has_attachment %}<i class="bi bi-paperclip ms-1 text-muted"></i>{% endif %}
</td>
<td>
{% if msg.is_forwarded %}
<span class="badge bg-info">Transféré</span>
{% else %}
<span class="badge bg-secondary">Direct</span>
{% endif %}
</td>
<td>
{% if msg.intervention_id %}
<a href="{{ url_for('interventions.detail', id=msg.intervention_id) }}"
class="badge bg-success text-decoration-none">
#{{ msg.intervention_id }}
</a>
{% else %}
<span class="text-muted"></span>
{% endif %}
</td>
<td>
<div class="d-flex gap-1">
<a href="{{ url_for('ent.message_detail', msg_id=msg.id) }}"
class="btn btn-sm btn-outline-primary" title="Voir">
<i class="bi bi-eye"></i>
</a>
<form method="POST" action="{{ url_for('ent.delete_message', msg_id=msg.id) }}"
onsubmit="return confirm('Supprimer ce message du cache ?')">
<button type="submit" class="btn btn-sm btn-outline-danger" title="Supprimer du cache">
<i class="bi bi-trash"></i>
</button>
</form>
{% if msg.intervention_id %}
<form method="POST" action="{{ url_for('ent.delete_ent_intervention', id=msg.intervention_id) }}"
onsubmit="return confirm('Supprimer l\'intervention #{{ msg.intervention_id }} créée via ENT ?')">
<button type="submit" class="btn btn-sm btn-outline-warning" title="Supprimer l'intervention ENT">
<i class="bi bi-x-circle"></i>
</button>
</form>
{% endif %}
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="text-center py-5">
<i class="bi bi-inbox display-1 text-muted"></i>
<p class="text-muted mt-3">Aucun message ENT77 récupéré pour le moment.</p>
<p class="small text-muted">Cliquez sur « Vérifier maintenant » ou attendez la vérification automatique.</p>
</div>
{% endif %}
</div>
{% endblock %}