Diese Version schließt die letzte offene Lücke im Soft-Delete-System und stellt sicher, dass Spieler Tickets im Bearbeitungsstatus nicht versehentlich löschen können.
Behobene Fehler
[Kritisch] Ticket nach Claim unsichtbar: Hatte ein Spieler sein Ticket ausgeblendet und ein Supporter claimte es anschließend, blieb es dauerhaft unsichtbar. Fix:claimTicket() und forwardTicket() setzen player_deleted jetzt automatisch auf FALSE. Einmalig für bestehende Datenbanken ausführen:
Code (SQL):
UPDATE tickets
SET player_deleted
=0WHERESTATUSIN('CLAIMED','FORWARDED');
[Kritisch] Lösch-Sperre bei aktiven Tickets: Spieler konnten Tickets mit Status CLAIMED oder FORWARDED im Code noch löschen. Das Löschen ist nun strikt auf OPEN und CLOSED beschränkt.
✨ Neue Features
Neue Permission: ticket.archive – Nur Spieler mit dieser Permission können das Archiv öffnen, geschlossene Tickets einsehen und permanent löschen.
Archiv-Button in der GUI ist nur für berechtigte Spieler sichtbar
Permanent-Löschen per Klick im Detail-View (Barrier-Block-Button)
Zurück-Button navigiert korrekt zurück ins Archiv oder die Hauptübersicht
⚠ Wichtig:ticket.archive ist nicht in ticket.admin enthalten und wird nicht automatisch an OPs vergeben. Explizit zuweisen:
Code (Text):
/lp user <Spielername> permission set ticket.archive true
Technische Details
Spalte player_deleted wird automatisch ergänzt – keine manuelle Migration nötig
ticket.admin enthält jetzt ticket.support als child-Permission (nicht ticket.archive)