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
+6 -1
View File
@@ -196,8 +196,13 @@ def poll_once(client: ZammadClient) -> int:
except ZammadError:
pass
else:
all_changes.extend(_detect_changes(conn, client, t, existing))
ch = _detect_changes(conn, client, t, existing)
_upsert(conn, row, is_new=False)
if ch:
# Neue Aktivität -> ggf. abgelegtes Ticket wieder einblenden
conn.execute(
"UPDATE tickets SET archived=0 WHERE id=?", (t["id"],))
all_changes.extend(ch)
# Backfill NACH der Haupttransaktion (eigene, kurze Verbindungen)
_backfill_articles(client)
except ZammadError as e: