@php /** * Keep the settings view safe during rolling module upgrades or Livewire navigate * hydration where the compiled Blade view may be newer than the loaded component. */ $statuses = $statuses ?? collect(); $priorities = $priorities ?? collect(); $categories = $categories ?? collect(); $teams = $teams ?? collect(); $projects = $projects ?? collect(); $boards = $boards ?? collect(); $repositories = $repositories ?? collect(); $workflowTemplates = $workflowTemplates ?? collect(); $cannedResponses = $cannedResponses ?? collect(); $slaPolicies = $slaPolicies ?? collect(); $automationRules = $automationRules ?? collect(); $checklistTemplates = $checklistTemplates ?? collect(); $tags = $tags ?? collect(); $products = $products ?? collect(); @endphp

Helpdesk administration

Support configuration

Manage lookup data, workflow messages, canned responses, SLA policies, automation rules, checklists, tags and product/service linkage.

@foreach ([ 'statuses' => ['label' => 'Statuses', 'count' => method_exists($statuses, 'total') ? $statuses->total() : $statuses->count()], 'priorities' => ['label' => 'Priorities', 'count' => method_exists($priorities, 'total') ? $priorities->total() : $priorities->count()], 'categories' => ['label' => 'Categories', 'count' => method_exists($categories, 'total') ? $categories->total() : $categories->count()], 'teams' => ['label' => 'Teams', 'count' => method_exists($teams, 'total') ? $teams->total() : $teams->count()], 'projects' => ['label' => 'Projects', 'count' => method_exists($projects, 'total') ? $projects->total() : $projects->count()], 'boards' => ['label' => 'Boards', 'count' => method_exists($boards, 'total') ? $boards->total() : $boards->count()], 'git' => ['label' => 'Git', 'count' => method_exists($repositories, 'total') ? $repositories->total() : $repositories->count()], 'workflow' => ['label' => 'Workflow', 'count' => method_exists($workflowTemplates, 'total') ? $workflowTemplates->total() : $workflowTemplates->count()], 'canned' => ['label' => 'Canned', 'count' => method_exists($cannedResponses, 'total') ? $cannedResponses->total() : $cannedResponses->count()], 'sla' => ['label' => 'SLA', 'count' => method_exists($slaPolicies, 'total') ? $slaPolicies->total() : $slaPolicies->count()], 'automation' => ['label' => 'Rules', 'count' => method_exists($automationRules, 'total') ? $automationRules->total() : $automationRules->count()], 'checklists' => ['label' => 'Checks', 'count' => method_exists($checklistTemplates, 'total') ? $checklistTemplates->total() : $checklistTemplates->count()], 'tags' => ['label' => 'Tags', 'count' => method_exists($tags, 'total') ? $tags->total() : $tags->count()], 'products' => ['label' => 'Products', 'count' => method_exists($products, 'total') ? $products->total() : $products->count()], ] as $key => $item) @php $sectionPalette = match ($key) { 'statuses' => ['border' => '#38bdf8', 'bg' => 'rgba(14, 165, 233, .22)', 'active' => '#0284c7'], 'priorities' => ['border' => '#f87171', 'bg' => 'rgba(239, 68, 68, .22)', 'active' => '#dc2626'], 'categories' => ['border' => '#818cf8', 'bg' => 'rgba(99, 102, 241, .22)', 'active' => '#4f46e5'], 'teams' => ['border' => '#60a5fa', 'bg' => 'rgba(37, 99, 235, .22)', 'active' => '#2563eb'], 'projects' => ['border' => '#22d3ee', 'bg' => 'rgba(8, 145, 178, .22)', 'active' => '#0891b2'], 'boards' => ['border' => '#fbbf24', 'bg' => 'rgba(245, 158, 11, .24)', 'active' => '#f59e0b'], 'git' => ['border' => '#94a3b8', 'bg' => 'rgba(71, 85, 105, .28)', 'active' => '#475569'], 'workflow' => ['border' => '#34d399', 'bg' => 'rgba(5, 150, 105, .22)', 'active' => '#059669'], 'canned' => ['border' => '#2dd4bf', 'bg' => 'rgba(13, 148, 136, .22)', 'active' => '#0d9488'], 'sla' => ['border' => '#fb923c', 'bg' => 'rgba(234, 88, 12, .22)', 'active' => '#ea580c'], 'automation' => ['border' => '#c084fc', 'bg' => 'rgba(147, 51, 234, .22)', 'active' => '#9333ea'], 'checklists' => ['border' => '#a3e635', 'bg' => 'rgba(101, 163, 13, .22)', 'active' => '#65a30d'], 'tags' => ['border' => '#f472b6', 'bg' => 'rgba(219, 39, 119, .22)', 'active' => '#db2777'], 'products' => ['border' => '#a78bfa', 'bg' => 'rgba(124, 58, 237, .22)', 'active' => '#7c3aed'], default => ['border' => '#71717a', 'bg' => 'rgba(63, 63, 70, .22)', 'active' => '#3f3f46'], }; $sectionStyle = '--hd-card-border: ' . $sectionPalette['border'] . '; --hd-card-bg: ' . $sectionPalette['bg'] . '; --hd-card-active: ' . $sectionPalette['active'] . ';'; @endphp
{{ $item['label'] }}
{{ $item['count'] }}
@endforeach
@if ($section === 'statuses') Create status
{{ filled($statusForm['id'] ?? null) ? 'Edit status' : 'Create status' }} Create or edit this status without leaving the settings list.
Save status Cancel
@endif @if ($section === 'priorities') Create priority
{{ filled($priorityForm['id'] ?? null) ? 'Edit priority' : 'Create priority' }} Create or edit this priority without leaving the settings list.
Save priority Cancel
@endif @if ($section === 'categories') Create category
{{ filled($categoryForm['id'] ?? null) ? 'Edit category' : 'Create category' }} Create or edit this category without leaving the settings list.
Save category Cancel
@endif @if ($section === 'teams') Create team
{{ filled($teamForm['id'] ?? null) ? 'Edit team' : 'Create team' }} Configure team details and choose the users who belong to it.
Team members
Select one or more users to assign to this team.
{{ count($teamForm['user_ids'] ?? []) }} selected
@forelse ($teamUsers as $teamUser) @empty
No users are available.
@endforelse
Cancel {{ filled($teamForm['id'] ?? null) ? 'Save changes' : 'Create team' }}
@endif @if ($section === 'projects') Create project
{{ filled($projectForm['id'] ?? null) ? 'Edit project' : 'Create project' }} Create or edit this project without leaving the settings list.
@foreach ($teams as $team) @endforeach
Save project Cancel
@endif @if ($section === 'boards') Create board
{{ filled($boardForm['id'] ?? null) ? 'Edit board' : 'Create board' }} Create or edit this board without leaving the settings list.
@foreach ($boardOwners as $owner) @endforeach
@foreach ($statuses as $status) @endforeach
Save board Cancel
@forelse ($boards as $boardItem) @empty @endforelse
Board Owner Columns Tickets Default Actions
{{ $boardItem->name }}
{{ $boardItem->slug }}
{{ $boardItem->owner?->name ?? 'Unassigned' }}
@foreach ($boardItem->statuses as $status) {{ $status->name }} @endforeach
{{ $boardItem->tickets_count ?? 0 }} {{ $boardItem->is_default ? 'Default' : 'No' }} Edit Delete
No Kanban boards yet.
@endif @if ($section === 'git') Create repository
{{ filled($repositoryForm['id'] ?? null) ? 'Edit repository' : 'Create repository' }} Create or edit this repository without leaving the settings list.
@foreach ($projects as $project) @endforeach
Save repository Cancel
@endif @if ($section === 'workflow') Create workflow message
{{ filled($workflowForm['id'] ?? null) ? 'Edit workflow message' : 'Create workflow message' }} Create or edit this workflow message without leaving the settings list.
Save workflow message Cancel
@forelse ($workflowTemplates as $template) @empty @endforelse
Name Event Recipient Active Actions
{{ $template->name }} {{ $template->event }} {{ $template->to_role }} {{ $template->is_active ? 'Active' : 'Inactive' }} Edit Delete
No workflow messages yet.
@endif @if ($section === 'canned') Create canned response
{{ filled($cannedForm['id'] ?? null) ? 'Edit canned response' : 'Create canned response' }} Create or edit this canned response without leaving the settings list.
@foreach ($categories as $category) @endforeach @foreach ($teams as $team) @endforeach
Save canned response Cancel
@forelse ($cannedResponses as $response)

{{ $response->name }}

{{ $response->category?->name ?? 'Any category' }} · {{ $response->team?->name ?? 'Any team' }}

{{ $response->is_active ? 'Active' : 'Inactive' }}

{{ strip_tags($response->body) }}

Edit Delete
@empty
No canned responses yet.
@endforelse
@endif @if ($section === 'sla') Create SLA policy
{{ filled($slaForm['id'] ?? null) ? 'Edit SLA policy' : 'Create SLA policy' }} Create or edit this SLA policy without leaving the settings list.
@foreach ($priorities as $priority) @endforeach @foreach ($categories as $category) @endforeach
Save SLA policy Cancel
@forelse ($slaPolicies as $policy) @empty @endforelse
Policy Targets Applies to Actions
{{ $policy->name }} @if ($policy->is_default) Default @endif {{ $policy->first_response_minutes }}m response · {{ $policy->resolution_minutes }}m close {{ $policy->priority?->name ?? 'Any priority' }} · {{ $policy->category?->name ?? 'Any category' }} Edit Delete
No SLA policies yet.
@endif @if ($section === 'automation') Create automation rule
{{ filled($automationForm['id'] ?? null) ? 'Edit automation rule' : 'Create automation rule' }} Create or edit this automation rule without leaving the settings list.
@foreach ($priorities as $priority) @endforeach @foreach ($categories as $category) @endforeach @foreach ($teams as $team) @endforeach @foreach ($projects as $project) @endforeach @foreach ($statuses as $status) @endforeach
Save automation rule Cancel
@forelse ($automationRules as $rule)

{{ $rule->name }}

Sender: {{ $rule->match_sender ?: 'Any' }} · Subject: {{ $rule->match_subject ?: 'Any' }}

Edit Delete
@empty
No automation rules yet.
@endforelse
@endif @if ($section === 'checklists') Create checklist
{{ filled($checklistTemplateForm['id'] ?? null) ? 'Edit checklist template' : 'Create checklist' }} Create or edit this checklist template without leaving the settings list.
@foreach ($categories as $category) @endforeach @foreach ($projects as $project) @endforeach
Save checklist Cancel
@forelse ($checklistTemplates as $template)

{{ $template->name }}

{{ count($template->items ?? []) }} items

Edit Delete
@empty
No checklist templates yet.
@endforelse
@endif @if ($section === 'tags') Create tag
{{ filled($tagForm['id'] ?? null) ? 'Edit tag' : 'Create tag' }} Create or edit this tag without leaving the settings list.
Save tag Cancel
@forelse ($tags as $tag)
{{ $tag->name }}
Edit Delete
@empty
No tags yet.
@endforelse
@endif @if ($section === 'products') Create product
{{ filled($productForm['id'] ?? null) ? 'Edit product/service' : 'Create product' }} Create or edit this product/service without leaving the settings list.
Save product/service Cancel
@forelse ($products as $product)

{{ $product->name }}

{{ ucfirst($product->type) }} · {{ $product->version ?: 'No version' }} · {{ $product->tickets_count }} tickets

Edit Delete
@empty
No products or services yet.
@endforelse
@endif