{% extends "base.html" %} {% from "_macros.html" import change_row %} {% block title %}Übersicht · EPI-Support{% endblock %} {% block content %}
{{ stats.total }}Tickets gesamt
{{ stats.open }}offen
{{ stats.unseen }}ungelesene Änderungen
{% if last_run %} {{ '✓' if last_run.status == 'ok' else '!' }} letzter Abruf
{{ last_run.finished_at|dt }}
{% else %} startet {% endif %}

Ungelesene Änderungen{% if stats.unseen %} ({{ stats.unseen }}){% endif %}

{% if stats.unseen %}
{% endif %}
{% if recent %} {% if stats.unseen > recent|length %} + {{ stats.unseen - recent|length }} weitere ungelesene anzeigen → {% endif %} {% else %}

Alles gelesen – keine offenen Änderungen. 🎉

{% endif %}

Status-Filter

{% set arch = '1' if show_archived else none %}
alle nicht geschlossen {% for s in states %} {{ s.state }} ({{ s.c }}) {% endfor %}
{% macro th(col, label) %} {% set nextdir = 'asc' if (sort == col and dir == 'desc') else 'desc' %} {{ label }}{% if sort == col %} {{ '▼' if dir == 'desc' else '▲' }}{% endif %} {% endmacro %}

Tickets{% if active_state == 'not_closed' %} – nicht geschlossen{% elif active_state %} – {{ active_state }}{% endif %}

{{ th('number', '#') }}{{ th('title', 'Titel') }}{{ th('state', 'Status') }} {{ th('priority', 'Priorität') }}{{ th('owner', 'Bearbeiter') }} {{ th('articles', 'Artikel') }}{{ th('updated', 'zuletzt geändert') }} {% for t in tickets %} {% set n = unseen_map.get(t.id) %} {% else %} {% endfor %}
{% if n %}{{ n }}{% endif %} {{ t.number }} {{ t.title }}{% if t.archived %} erledigt{% endif %} {{ t.state }} {{ t.priority }} {{ t.owner if t.owner and t.owner != '-' else '—' }} {{ t.article_count }} {% if t.archived %}
{% else %}
{% endif %}
Keine Tickets.
{% endblock %}