diff --git a/DeskHub-Webseite/staff/ticket_view.php b/DeskHub-Webseite/staff/ticket_view.php index 3f10c5d2..b65eb576 100644 --- a/DeskHub-Webseite/staff/ticket_view.php +++ b/DeskHub-Webseite/staff/ticket_view.php @@ -52,9 +52,14 @@ if (!empty($ticket['merged_into'])) { // TICKET_LOCK_TIMEOUT_MINUTES nicht mehr aufgefrischt wurde (z.B. weil der Tab einfach // geschlossen wurde). $lockedByOther = null; +$adminLockedBy = null; if ($_SERVER['REQUEST_METHOD'] === 'GET') { $lockedByName = ticket_locked_by_other($ticket, (int) $staff['id'], $pdo); - if ($lockedByName) { + if ($lockedByName && $staff['role'] === 'admin') { + // Administratoren dürfen auch ein von anderen bearbeitetes Ticket lesen und bearbeiten; die Sperre des anderen bleibt bestehen + // (siehe Hinweis oben auf der Seite, dort lässt sie sich aufheben) + $adminLockedBy = $lockedByName; + } elseif ($lockedByName) { flash('error', "Dieses Ticket wird gerade von \"{$lockedByName}\" bearbeitet und kann nicht gleichzeitig geöffnet werden. Bitte warten Sie, bis die Bearbeitung abgeschlossen ist, oder bitten Sie {$lockedByName}, das Ticket freizugeben."); flash_locked_ticket($number, $lockedByName); redirect('/staff/tickets.php'); @@ -714,6 +719,17 @@ $sourceLabel = $sourceLabels[$ticket['source']] ?? $ticket['source']; + +
+ 🔒 Dieses Ticket wird gerade von „“ bearbeitet. Als Administrator kannst du es trotzdem lesen und bearbeiten. +
+ + + + +
+
+
⚠️