gmao/app_new/templates/ent/inbox.html

153 lines
6.3 KiB
HTML
Raw Normal View History

2026-08-14 18:02:25 +02:00
{% 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|datetime_fmt if msg.date else '—' }}
2026-08-14 18:02:25 +02:00
</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 %}