From d6f6636be2d24cda7aa1e3ddda5635e9b1c64ec0 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Thu, 22 Oct 2026 18:59:46 +0000 Subject: [PATCH] Upload via GUI (273 Dateien) --- DeskHub-Webseite/README.md | 4 ++++ DeskHub-Webseite/api/staff/v1/common.php | 5 +++-- DeskHub-Webseite/version.php | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/DeskHub-Webseite/README.md b/DeskHub-Webseite/README.md index 951ba093..20f230b8 100644 --- a/DeskHub-Webseite/README.md +++ b/DeskHub-Webseite/README.md @@ -303,6 +303,10 @@ Nach der Installation müsst ihr nichts tun, Option A läuft von selbst. Jeder Mitarbeiter stellt seinen Status ein (Verfügbar, Beschäftigt, Pause, Offline), im Browser unter **Verfügbarkeit & Schichten** und in der App unter Verwaltung → Mein Status. **Wer 30 Minuten lang nichts tut, geht automatisch auf Offline** und bekommt seinen vorherigen Status zurück, sobald er wieder aktiv ist. Als aktiv zählen echte Bedienung (Seitenaufrufe, Klicks und Tipps, Aktionen und Berührungen in der App); Abfragen im Hintergrund halten niemanden online. Ein von Hand gesetzter Status wird nicht von selbst zurückgesetzt. Die Zeit stellt ein Admin unter Verfügbarkeit & Schichten ein (0 = aus). Admins können dort (und in der App durch Antippen eines Teammitglieds) den Status jedes Mitarbeiters ändern; das steht im Aktivitätsprotokoll. Der Live-Chat auf der Kundenseite zeigt automatisch Offline-Mitarbeiter nicht mehr als erreichbar. +## Ticket-Sperre + +Wer ein Ticket öffnet, sperrt es für andere (5 Minuten, bei Inaktivität läuft die Sperre ab), damit nicht zwei Personen gleichzeitig daran arbeiten. Normale Mitarbeiter bekommen bei einem gesperrten Ticket einen Hinweis mit dem Namen des Bearbeiters. **Administratoren** können ein gesperrtes Ticket trotzdem **lesen und bearbeiten** (Antworten, Notizen, Status) und sehen oben den Hinweis „wird gerade von … bearbeitet“ mit dem Knopf **„Sperre aufheben und übernehmen“**. Das gibt es im Browser, im Windows-Programm und in der Android-App; das Aufheben steht im Ticket-Verlauf. Jeder darf seine eigene Sperre freigeben. Ein Live-Chat sperrt Administratoren nie aus. + ## SLA-Pläne Ein SLA-Plan legt fest, wie schnell reagiert und gelöst werden soll. Unter Adminportal → **SLA-Pläne** legt ihr Pläne mit Reaktions- und Lösungszeit an und weist sie Abteilungen oder Hilfethemen zu. diff --git a/DeskHub-Webseite/api/staff/v1/common.php b/DeskHub-Webseite/api/staff/v1/common.php index 548907be..de97475c 100644 --- a/DeskHub-Webseite/api/staff/v1/common.php +++ b/DeskHub-Webseite/api/staff/v1/common.php @@ -296,7 +296,7 @@ function api_add_ticket_message(PDO $pdo, array $staff, array $ticket, string $t // einen Chat, der gerade frisch von einem anderen Mitarbeiter (egal ob Web oder // App) "besessen" wird, wird abgelehnt – interne Notizen bleiben immer erlaubt, // die sind ja ohnehin nur für Mitarbeiter sichtbar und kein Konflikt für den Kunden. - if (!$isNote && $ticket['source'] === 'chat') { + if (!$isNote && $ticket['source'] === 'chat' && $staff['role'] !== 'admin') { $lockedByOtherName = live_chat_locked_by_other($ticket, (int) $staff['id'], $pdo); if ($lockedByOtherName) { api_error(409, 'CHAT_LOCKED', "Dieser Chat wird gerade von \"$lockedByOtherName\" bearbeitet. Sie können nur zuschauen."); @@ -307,7 +307,8 @@ function api_add_ticket_message(PDO $pdo, array $staff, array $ticket, string $t // Anfrage erfolgreich gemacht hat, besitzt die Sperre bereits; das hier fängt nur // den seltenen Fall ab, dass sie zwischen Laden und Absenden abgelaufen ist bzw. ein // anderer Mitarbeiter sie in der Zwischenzeit übernommen hat). - if ($ticket['source'] !== 'chat') { + // (Administratoren dürfen auch bei fremder Sperre antworten.) + if ($ticket['source'] !== 'chat' && $staff['role'] !== 'admin') { $lockedByOtherName = ticket_locked_by_other($ticket, (int) $staff['id'], $pdo); if ($lockedByOtherName) { api_error(409, 'TICKET_LOCKED', "Dieses Ticket wird gerade von \"$lockedByOtherName\" bearbeitet."); diff --git a/DeskHub-Webseite/version.php b/DeskHub-Webseite/version.php index 46d7aeba..646ac4a0 100644 --- a/DeskHub-Webseite/version.php +++ b/DeskHub-Webseite/version.php @@ -1,7 +1,7 @@