@php $tabGroups = [ 'Zgłoszenia' => [ ['key' => 'categories', 'label' => 'Kategorie', 'icon' => 'category'], ['key' => 'fields', 'label' => 'Pola dodatkowe', 'icon' => 'list_alt'], ['key' => 'statuses', 'label' => 'Statusy', 'icon' => 'flag'], ['key' => 'priorities', 'label' => 'Priorytety i SLA', 'icon' => 'priority_high'], ['key' => 'reply-quick-actions', 'label' => 'Szybkie akcje odpowiedzi', 'icon' => 'bolt'], ['key' => 'response-templates', 'label' => 'Szablony odpowiedzi', 'icon' => 'chat'], ['key' => 'automation-rules', 'label' => 'Automatyzacja SLA', 'icon' => 'bolt'], ['key' => 'triggers', 'label' => 'Wyzwalacze', 'icon' => 'rule'], ], 'Zespół' => [ ['key' => 'users', 'label' => 'Użytkownicy', 'icon' => 'group'], ['key' => 'teams', 'label' => 'Zespoły', 'icon' => 'groups'], ['key' => 'user-fields', 'label' => 'Pola dodatkowe', 'icon' => 'badge'], ], 'Ustawienia' => [ ['key' => 'templates', 'label' => 'Szablony e-mail', 'icon' => 'mail'], ['key' => 'email', 'label' => 'Poczta', 'icon' => 'forward_to_inbox'], ['key' => 'branding', 'label' => 'Wygląd i branding', 'icon' => 'palette'], ['key' => 'config', 'label' => 'Konfiguracja', 'icon' => 'settings'], ['key' => 'integrations', 'label' => 'Integracje', 'icon' => 'hub'], ['key' => 'api-keys', 'label' => 'Klucze API', 'icon' => 'vpn_key'], ['key' => 'about', 'label' => 'O aplikacji', 'icon' => 'info'], ], ]; @endphp
| Etykieta | Typ | Wymagane | |
|---|---|---|---|
| {{ $f->label }} | {{ $f->typeLabel() }} | {{ $f->required ? 'Tak' : 'Nie' }} |
|
Brak pól dodatkowych. Dodaj pierwsze pole używając przycisku wyżej.
@endif @endif {{-- ================= USERS ================= --}} @if ($tab === 'users')Logowanie odbywa się przez LDAP/AD. Zaproszenie tworzy tu tylko rolę i przypisanie — po pierwszym logowaniu tożsamość LDAP zwiąże się automatycznie z tym adresem e-mail. „Synchronizuj z LDAP” pobiera od razu wartości pól dodatkowych (zakładka Pola dodatkowe) dla wszystkich istniejących użytkowników.
@if ($ldapSyncResult)| Imię i nazwisko | Rola | Zespoły | ||
|---|---|---|---|---|
| {{ $u->name }} | {{ $u->email }} |
|
@forelse ($u->teams as $tm) {{ $tm->name }} @empty — @endforelse |
@if ($u->id !== auth()->id())
@endif
|
Te pola pojawiają się przy edycji użytkownika (nie przy zapraszaniu nowego). Jeśli podasz atrybut LDAP, wartość pobierze się automatycznie przy logowaniu oraz przyciskiem „Synchronizuj z LDAP” w zakładce Użytkownicy.
@if ($this->userFields->isNotEmpty())| Nazwa | Opis | Typ | Atrybut LDAP | |
|---|---|---|---|---|
| {{ $f->label }} | {{ $f->description ?: '—' }} | {{ $f->typeLabel() }} | {{ $f->ldap_attribute ?: '—' }} |
|
Brak pól dodatkowych. Dodaj pierwsze pole używając przycisku wyżej.
@endif @endif {{-- ================= REPLY QUICK ACTIONS ================= --}} @if ($tab === 'reply-quick-actions')Te opcje pojawiają się w menu obok przycisku „Wyślij odpowiedź” w panelu operatora.
@if ($this->replyQuickActions->isNotEmpty())| Nazwa przycisku | Zmienia status na | |
|---|---|---|
| {{ $qa->label }} | @if ($qa->status_key) {{ $qa->statusLabel() }} @else Nie zmieniaj @endif |
|
Brak szybkich akcji. Dodaj pierwszą używając przycisku wyżej.
@endif @endif {{-- ================= RESPONSE TEMPLATES ================= --}} @if ($tab === 'response-templates')Te szablony operator może wstawić do treści odpowiedzi z listy „Wstaw szablon odpowiedzi…” w widoku zgłoszenia.
@if ($this->responseTemplates->isNotEmpty()){{ \Illuminate\Support\Str::limit($rt->body, 200) }}
Brak szablonów odpowiedzi. Dodaj pierwszy używając przycisku wyżej.
@endif @endif {{-- ================= AUTOMATION RULES ================= --}} @if ($tab === 'automation-rules')Co 15 minut sprawdzane jest, czy zgłoszenie milczy (brak odpowiedzi klienta) dłużej niż próg reguły — jeśli tak (i pasuje do opcjonalnego zawężenia), wykonywana jest wybrana akcja. Reguła nie powtarza się dla tego samego zgłoszenia, dopóki klient znów nie napisze albo zgłoszenie nie zostanie zamknięte i otwarte ponownie.
@if ($this->automationRules->isNotEmpty())Brak reguł automatyzacji. Dodaj pierwszą używając przycisku wyżej.
@endif @endif {{-- ================= TRIGGERS ================= --}} @if ($tab === 'triggers')Nowy, Otwarty i Zamknięty to 3 stałe grupy (nie da się ich usunąć). Pozostałe statusy to tylko dodatkowe warianty grupy „Otwarty” — możesz je dowolnie edytować, usuwać i dodawać nowe.
| Grupa | Nazwa | Kolor | Podgląd | ||
|---|---|---|---|---|---|
| {{ match ($s->stage) { 'new' => 'Nowy', 'closed' => 'Zamknięty', default => 'Otwarty' } }} | {{ $s->label }} |
|
@unless ($s->locked) @endunless |
Edytuj nazwy, kolory i czasy SLA (w minutach), dodawaj i usuwaj wartości — obowiązuje we wszystkich panelach. Czas rozwiązania równy 0 oznacza brak SLA dla danego priorytetu — zgłoszenie nigdy nie zostanie oznaczone jako przeterminowane.
| Priorytet | Kolor | Podgląd | Czas odpowiedzi (min) | Czas rozwiązania (min) | ||
|---|---|---|---|---|---|---|
| {{ $p->label }} |
|
Każde zdarzenie ma stały, przypisany na stałe szablon — możesz go dowolnie edytować, ale nie zmienić na inny. Wyłącz przełącznik, żeby dana wiadomość nigdy nie była wysyłana.
| Zdarzenie | Odbiorca | Wysyłane | |
|---|---|---|---|
| {{ $ns->trigger_label }} | {{ $ns->recipient === 'operator' ? 'Operator' : 'Zgłaszający' }} | enabled) wire:click="toggleNotificationEnabled({{ $ns->id }})"> |
Każde powiadomienie wysyłane jest w stałym „pudełku” (nazwa firmy, ramka, treść zdarzenia) — tu edytujesz tylko jego stopkę. Po prawej — podgląd na żywo na przykładowym zgłoszeniu.
Motyw jasny / ciemny / auto ustawia się przełącznikiem w nagłówku — dotyczy całej aplikacji.
Zastępuje domyślny fioletowy kolor przycisków, linków i etykiet w całej aplikacji.
Widoczne na ekranie logowania. Bez własnego pliku używany jest domyślny znak.
Ikona karty przeglądarki. Bez własnego pliku używany jest domyślny znak.
Wyświetlany nad formularzem logowania, nad polami „Nazwa użytkownika” / „Hasło”. Obsługuje wiele akapitów, pogrubienia, listy itd.
Dostępne zmienne: {numer}, {imie}, {temat}, {status}, {kategoria}, {priorytet}, {zespol}, {operator}, {link} — {link} wstawia bezpośredni link do zgłoszenia. Ta treść trafia do wspólnego szablonu-pudełka (u góry listy) w miejscu {tresc}.