Add "truly done" ticket archiving with auto-unhide

- Let the user mark closed tickets as really done and hide them, so
  tickets closed prematurely by an agent stay visible until confirmed
- User-side "archived" flag stored in the DB (independent of Zammad),
  added via a schema migration on existing databases
- Hide archived tickets from the overview by default with an
  "erledigte einblenden" toggle; archive/unarchive from the ticket
  detail page and via a per-row quick action
- Poller automatically un-hides an archived ticket when new activity is
  detected, so nothing is missed

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-01 17:34:09 +02:00
co-authored by Claude Opus 4.8
parent 1107a912bc
commit 528d66b2b0
6 changed files with 94 additions and 15 deletions
+13 -2
View File
@@ -7,8 +7,19 @@
<section class="panel">
<div class="panel-head">
<h2>#{{ ticket.number }} {{ ticket.title }}</h2>
<a class="btn-sm" href="{{ zammad_url }}/#ticket/zoom/{{ ticket.id }}"
target="_blank" rel="noopener">in Zammad öffnen ↗</a>
<div class="head-tools">
{% if ticket.archived %}
<form method="post" action="{{ url_for('unarchive_ticket', ticket_id=ticket.id) }}">
<button class="btn-ghost" type="submit">↩ Wieder einblenden</button>
</form>
{% else %}
<form method="post" action="{{ url_for('archive_ticket', ticket_id=ticket.id) }}">
<button class="btn-ghost" type="submit" title="Als wirklich erledigt ablegen und ausblenden">✓ Wirklich erledigt</button>
</form>
{% endif %}
<a class="btn-sm" href="{{ zammad_url }}/#ticket/zoom/{{ ticket.id }}"
target="_blank" rel="noopener">in Zammad öffnen ↗</a>
</div>
</div>
<dl class="meta">
<div><dt>Status</dt><dd><span class="state state-{{ ticket.state }}">{{ ticket.state }}</span></dd></div>