{% extends "base.html" %} {% from "_macros.html" import help %} {% block title %}{{ ev.email_subject or "Event" }} — BackupWatch{% endblock %} {% block content %} {% if ev.job %} ← {{ ev.job.client.display_name }} / {{ ev.job.name }} {% else %} ← Review queue {% endif %}

{{ ev.email_subject or "(no subject)" }}

{% if ev.message_id %}{% endif %}
Status{{ ev.status }}
Vendor{{ ev.vendor_detected|vendor }}
From{{ ev.email_from }}
Received{{ ev.received_at|dt }}
Acknowledged {% if ev.acknowledged %}✓ {{ ev.acknowledged_by or "yes" }}{% if ev.acknowledged_at %} · {{ ev.acknowledged_at|dt }}{% endif %}{% else %}no{% endif %}
Job{% if ev.job %}{{ ev.job.client.display_name }} / {{ ev.job.name }}{% else %}unassigned (in review queue){% endif %}
Message-ID{{ ev.message_id }}
⬇ Export for template (.eml) {{ help("Downloads this email as a .eml. Drop it in Training Data/ and use it to build a new vendor template — a VendorRule in parsers.py plus a test that loads the file. Useful when an email lands in Review as “other” because no template recognises its vendor yet.") }}

Email {{ help("The full backup email as received, captured so you can diagnose without opening the mailbox or backup server. HTML is shown in a sandboxed frame (no scripts run).") }}

{% set text_body = ev.body_text or ev.raw_excerpt %}
{% if ev.body_html and text_body %}
{% elif ev.body_html %} {% else %}
{{ text_body or "(no body captured)" }}
{% endif %}
{% endblock %}