v1.1.0
- In-app notifications: a bell in the top bar backed by Laravel's database
notification channel, alongside existing e-mail notifications (same
per-trigger toggle drives both; ticket links now correctly point into the
recipient's own area instead of always linking to the client view).
- Drag-and-drop attachments on every upload form, plus inline image
thumbnails in the message thread instead of a plain download link.
- Customer satisfaction (CSAT) rating: clients rate a closed ticket 1-5 stars
with an optional comment; shown read-only to operators, surfaced as a KPI
on the stats dashboard, and linked from the "ticket closed" e-mail.
- Saved queue views: operators can save/apply/delete named filter+sort+
column presets in the ticket queue and mark one as their default.
- Full-text search (MySQL FULLTEXT, portable LIKE fallback) across ticket
subject/body and reply message bodies, now also on the client's own ticket
list.
- Stats CSV export for the currently filtered ticket set.
- Optional BookStack knowledge-base integration (off by default): suggests
articles by category/subcategory while creating a ticket and in a separate
sidebar for operators on an existing ticket (with a copy-link button).
Configurable connection/SSL bypass/search-type filter, plus two
independent per-shelf allow-lists so nothing is ever searched until an
admin opts specific shelves in.
- Closed tickets no longer show in "Moje zgłoszenia"/"Nieprzypisane"/team
queue tabs, only under "Zamknięte" (matching how "Otwarte" already worked).
- Wired up the Admin > About "Wersja" field to config('app.version')/VERSION
in .env instead of a stale hardcoded string.
- Fixed: TicketService::setStatus() now checks a status's stage rather than
the literal key 'closed' to decide whether to fire the "ticket closed"
notification/stop the timer.
- Updated README/ARCHITECTURE/CHANGELOG/install/SECURITY docs and all three
wiki/ role guides for the above; documented a root-vs-www-data file
ownership gotcha in CLAUDE.md (running artisan commands via a plain
`docker exec` can leave root-owned Blade cache files that later break
recompilation for the www-data Apache process).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -85,7 +85,9 @@ więcej informacji”, „Restart usuwa problem”.
|
||||
prostu wyłącza wysyłkę tego powiadomienia, dopóki ktoś nie wybierze nowego.
|
||||
„Zmiana statusu” i „zgłoszenie zamknięte” się wzajemnie wykluczają dla tej
|
||||
samej zmiany — zamknięcie zgłoszenia wysyła wyłącznie powiadomienie
|
||||
„zgłoszenie zamknięte”, żeby nie dublować maila.
|
||||
„zgłoszenie zamknięte”, żeby nie dublować maila. **Ten sam przełącznik
|
||||
kontroluje zarówno e-mail, jak i powiadomienie w dzwoneczku w aplikacji** —
|
||||
nie ma osobnego ustawienia dla powiadomień w apce.
|
||||
|
||||
## Wygląd / Branding
|
||||
|
||||
@@ -110,6 +112,30 @@ ważne + treść HTML).
|
||||
> `changeme-*-password`) — koniecznie podmień je na rzeczywiste dane przed
|
||||
> oddaniem systemu do użytku.
|
||||
|
||||
- **Baza wiedzy BookStack** — opcjonalna integracja, **domyślnie wyłączona**.
|
||||
Po włączeniu:
|
||||
- **Adres instancji, Token ID, Token Secret** — token API generuje się w
|
||||
BookStacku: Profil → Ustawienia API. Rola/użytkownik właściciela tokenu
|
||||
musi mieć w BookStacku uprawnienie **„Access System API”**, inaczej
|
||||
zapytania kończą się błędem 403 mimo poprawnych danych logowania.
|
||||
- **Weryfikuj certyfikat SSL** — włączone domyślnie; wyłącz tylko jeśli
|
||||
instancja BookStack korzysta z certyfikatu self-signed/prywatnego CA.
|
||||
- **Przeszukuj** — strony i książki / tylko strony / tylko książki.
|
||||
- **Dozwolone półki** — dwie **niezależne** checklisty: jedna dla podpowiedzi
|
||||
przy tworzeniu zgłoszenia (klient, operator, formularz gościa na stronie
|
||||
głównej), druga dla panelu bocznego operatora na widoku istniejącego
|
||||
zgłoszenia. **Dopóki żadna półka nie jest zaznaczona w danej liście,
|
||||
wyszukiwanie w tym kontekście nic nie zwraca** — trzeba świadomie
|
||||
wskazać, które półki wolno przeszukiwać. Przycisk **„Odśwież listę
|
||||
półek”** wymusza ponowne pobranie listy z BookStacka (inaczej może się
|
||||
odświeżyć samoistnie po do 30 minutach po zmianie w BookStacku).
|
||||
- **Pokazuj podpowiedzi także niezalogowanym** — domyślnie wyłączone; bez
|
||||
zaznaczenia podpowiedzi przy tworzeniu zgłoszenia widzą tylko zalogowani
|
||||
klienci/operatorzy, nie formularz gościa na stronie głównej.
|
||||
- Przycisk **„Testuj połączenie”** sprawdza niezapisane wartości formularza
|
||||
(analogicznie do LDAP/SMTP) i pokazuje dokładny komunikat błędu z
|
||||
BookStacka, jeśli połączenie się nie powiedzie.
|
||||
|
||||
## API
|
||||
|
||||
Panel `/admin/api-docs` udostępnia interaktywną dokumentację (Swagger) REST API
|
||||
|
||||
@@ -14,10 +14,15 @@ profilu w prawym górnym rogu).
|
||||
mogą pojawić się dodatkowe pola (np. numer inwentarzowy sprzętu, kwota,
|
||||
data potrzebna, zgoda przełożonego) — administrator skonfigurował je specjalnie
|
||||
dla tej podkategorii.
|
||||
4. Opcjonalnie dodaj **załączniki** (limit rozmiaru/liczby/plików ustala admin —
|
||||
4. Opcjonalnie dodaj **załączniki** — przeciągnij pliki na pole załączników albo
|
||||
kliknij, żeby wybrać je z dysku (limit rozmiaru/liczby/plików ustala admin —
|
||||
komunikat o błędzie poinformuje, jeśli coś przekracza limit).
|
||||
5. Wyślij zgłoszenie. Otrzymasz e-mail potwierdzający (jeśli powiadomienia są
|
||||
włączone) z linkiem do podglądu.
|
||||
5. Jeśli administrator włączył podpowiedzi z bazy wiedzy, przy wyborze
|
||||
kategorii/podkategorii może pojawić się lista pasujących artykułów — warto
|
||||
je sprawdzić, zanim wyślesz zgłoszenie.
|
||||
6. Wyślij zgłoszenie. Otrzymasz e-mail potwierdzający (jeśli powiadomienia są
|
||||
włączone) z linkiem do podglądu, oraz — jeśli jesteś zalogowany — powiadomienie
|
||||
w dzwoneczku w górnym pasku.
|
||||
|
||||
Zgłoszenie można też wysłać **bez logowania** ze strony głównej — wystarczy podać
|
||||
e-mail; konto zostanie założone automatycznie (jeśli administrator włączył
|
||||
@@ -31,11 +36,14 @@ Dashboard klienta dzieli zgłoszenia na dwie zakładki:
|
||||
- **Bieżące** — zgłoszenia jeszcze nie zamknięte.
|
||||
- **Archiwum** — zgłoszenia zamknięte.
|
||||
|
||||
Pole wyszukiwania nad listą przeszukuje numer, temat i treść zgłoszenia (oraz
|
||||
odpowiedzi w wątku).
|
||||
|
||||
Otwórz dowolne zgłoszenie, by zobaczyć:
|
||||
|
||||
- aktualny **status** i **priorytet**,
|
||||
- pełną **historię wiadomości** (Twoje i operatora — notatki wewnętrzne operatora
|
||||
nie są widoczne dla klienta),
|
||||
nie są widoczne dla klienta); załączone obrazy pokazują się jako miniatury,
|
||||
- **SLA** — orientacyjny czas do rozwiązania wg priorytetu sprawy.
|
||||
|
||||
## Odpowiadanie
|
||||
@@ -43,7 +51,14 @@ Otwórz dowolne zgłoszenie, by zobaczyć:
|
||||
W widoku zgłoszenia można dopisać kolejną wiadomość w dowolnym momencie (np. dodać
|
||||
brakujące informacje albo potwierdzić rozwiązanie) — operator zobaczy ją i, jeśli
|
||||
powiadomienia są włączone, dostaniesz e-mail przy każdej zmianie statusu lub nowej
|
||||
odpowiedzi operatora.
|
||||
odpowiedzi operatora oraz powiadomienie w dzwoneczku w górnym pasku (kliknięcie
|
||||
przenosi od razu do zgłoszenia).
|
||||
|
||||
## Ocena obsługi
|
||||
|
||||
Po zamknięciu zgłoszenia w panelu bocznym pojawia się prośba o ocenę (1–5 gwiazdek
|
||||
+ opcjonalny komentarz) — jednorazowa, bez możliwości zmiany po wysłaniu. Mail o
|
||||
zamknięciu zgłoszenia zawiera też bezpośredni link do oceny.
|
||||
|
||||
## Najczęstsze pytania
|
||||
|
||||
|
||||
@@ -1,29 +1,37 @@
|
||||
# Przewodnik — Operator
|
||||
|
||||
Panel operatora (`/operator`) to miejsce pracy z kolejką zgłoszeń: przegląd,
|
||||
odpowiadanie, zmiana statusu/priorytetu/przypisania oraz — nowość — statystyki
|
||||
zespołu.
|
||||
odpowiadanie, zmiana statusu/priorytetu/przypisania oraz statystyki zespołu.
|
||||
|
||||
Domyślnie każde konto ląduje po zalogowaniu w panelu Klienta; przełącz się do
|
||||
panelu Operatora przez menu profilu (prawy górny róg), jeśli konto ma tę rolę.
|
||||
Dzwoneczek powiadomień w górnym pasku (widoczny we wszystkich panelach) pokazuje
|
||||
zdarzenia na Twoich zgłoszeniach na bieżąco, bez odświeżania strony.
|
||||
|
||||
## Kolejka zgłoszeń
|
||||
|
||||
Panel główny (`/operator`) pokazuje listę zgłoszeń z zakładkami po lewej stronie:
|
||||
|
||||
- **Otwarte** — wszystkie zgłoszenia jeszcze nie zamknięte, widoczne dla Ciebie.
|
||||
- **Moje zgłoszenia** — przypisane do Ciebie.
|
||||
- **Nieprzypisane** — czekają na przejęcie przez kogoś z zespołu.
|
||||
- **Zamknięte** — archiwum.
|
||||
- **Moje zgłoszenia** — przypisane do Ciebie (bez zamkniętych).
|
||||
- **Nieprzypisane** — czekają na przejęcie przez kogoś z zespołu (bez zamkniętych).
|
||||
- **Zamknięte** — archiwum; jedyna zakładka, w której pojawiają się zamknięte
|
||||
zgłoszenia.
|
||||
- **Zespoły** — osobna zakładka na każdy zespół, do którego należysz (administrator
|
||||
widzi wszystkie zespoły).
|
||||
widzi wszystkie zespoły; też bez zamkniętych).
|
||||
|
||||
Nie-administratorzy widzą tylko zgłoszenia swoich zespołów, zgłoszenia bez
|
||||
przypisanego zespołu, oraz wszystko przypisane bezpośrednio do nich.
|
||||
|
||||
**Filtry** nad tabelą: status, priorytet, kategoria, wyszukiwanie po numerze/
|
||||
temacie/kliencie. **Kolumny** można dowolnie włączać/wyłączać przyciskiem
|
||||
„Kolumny”, a nagłówki kolumn sortują listę.
|
||||
temacie/kliencie/treści zgłoszenia i odpowiedzi w wątku. **Kolumny** można dowolnie
|
||||
włączać/wyłączać przyciskiem „Kolumny”, a nagłówki kolumn sortują listę.
|
||||
|
||||
**Zapisane widoki** — przycisk „Zapisane widoki” pozwala zapisać bieżącą
|
||||
kombinację zakładki/filtrów/sortowania/kolumn pod własną nazwą, oznaczyć jeden z
|
||||
zapisanych widoków jako domyślny (ładuje się automatycznie przy wejściu do
|
||||
kolejki) i usuwać niepotrzebne. Widoki są prywatne — każdy operator widzi tylko
|
||||
swoje.
|
||||
|
||||
**Akcje zbiorcze**: zaznacz kilka zgłoszeń checkboxami, by je **scalić** (pierwsze
|
||||
zaznaczone staje się główne, reszta trafia do niego jako wiadomości i zostaje
|
||||
@@ -40,8 +48,15 @@ W widoku pojedynczego zgłoszenia:
|
||||
jedną **szybką akcją** (np. „Wyślij i zamknij”) zamiast dwóch osobnych kroków.
|
||||
- **Notatka wewnętrzna** — widoczna tylko dla operatorów/adminów, np. do
|
||||
przekazania kontekstu innemu operatorowi.
|
||||
- **Załączniki** — do odpowiedzi/notatki, w granicach limitów ustawionych przez
|
||||
administratora.
|
||||
- **Załączniki** — do odpowiedzi/notatki, przeciągnij pliki na pole załączników
|
||||
albo kliknij, żeby wybrać je z dysku, w granicach limitów ustawionych przez
|
||||
administratora; załączone obrazy pokazują się jako miniatury w wątku.
|
||||
- **Baza wiedzy** (jeśli administrator włączył integrację z BookStack) — panel
|
||||
boczny podpowiada artykuły pasujące do kategorii/podkategorii zgłoszenia;
|
||||
kliknięcie otwiera artykuł, przycisk „Kopiuj link" kopiuje adres bez
|
||||
wychodzenia ze zgłoszenia (np. do wklejenia w odpowiedzi).
|
||||
- **Ocena obsługi** — jeśli klient już ocenił zgłoszenie, ocena (gwiazdki +
|
||||
ewentualny komentarz) pokazuje się w panelu bocznym, tylko do odczytu.
|
||||
- **Licznik czasu pracy** — start/stop/reset przy zgłoszeniu; czas zapisuje się
|
||||
automatycznie nawet przy zamknięciu karty (mechanizm `sendBeacon`). Zliczanie
|
||||
jest automatycznie wstrzymywane, gdy zgłoszenie ma status zamknięty — nie
|
||||
@@ -74,6 +89,10 @@ zmianie filtra, bez przeładowania strony.
|
||||
| Śr. czas 1. odpowiedzi | średni czas od utworzenia do pierwszej odpowiedzi operatora |
|
||||
| Śr. czas rozwiązania | średni czas od utworzenia do zamknięcia (przybliżony — brak osobnej daty "rozwiązano", liczony do ostatniej aktualizacji zamkniętego zgłoszenia) |
|
||||
| Naruszenia SLA | % zgłoszeń, które przekroczyły czas rozwiązania wg priorytetu (zgodnie z regułami SLA w Admin > Statusy/Priorytety) |
|
||||
| Ocena obsługi (CSAT) | średnia ocen klientów (1–5) w wybranym zakresie/filtrach + % zamkniętych zgłoszeń, które zostały ocenione |
|
||||
|
||||
Przycisk **„Eksportuj CSV"** pobiera listę zgłoszeń (jeden wiersz na zgłoszenie) z
|
||||
uwzględnieniem aktualnie wybranego zakresu dat i filtrów.
|
||||
|
||||
**Wykresy** (paski poziome, kolor = ta sama identyfikacja co w kolejce dla statusu/
|
||||
priorytetu; najedź kursorem na pasek, by zobaczyć dokładną wartość):
|
||||
|
||||
Reference in New Issue
Block a user