settings updates

This commit is contained in:
Mark Gregory
2026-08-25 22:19:04 +01:00
parent 1991f27ee8
commit 037c08498b
37 changed files with 5141 additions and 585 deletions
+8 -8
View File
@@ -73,7 +73,7 @@ final class KanbanBoard extends Component
'last_activity_at' => now(),
])->save();
$freshTicket = $ticket->fresh(['status', 'priority', 'category', 'project', 'team', 'product', 'tags', 'checklistItems', 'board']) ?? $ticket;
$freshTicket = $ticket->fresh(['user:id,name,email', 'owner:id,name,email', 'agent:id,name,email', 'status', 'priority', 'category', 'project', 'team', 'product', 'tags', 'checklistItems', 'board']) ?? $ticket;
$workflow->dispatch(
$freshTicket,
@@ -81,12 +81,12 @@ final class KanbanBoard extends Component
Auth::user(),
);
$message = 'Ticket ' . $freshTicket->reference . ' moved from ' . $oldStatusName . ' to ' . $status->name . '.';
$message = 'Ticket '.$freshTicket->reference.' moved from '.$oldStatusName.' to '.$status->name.'.';
session()->flash('success', $message);
$this->refreshBoard();
$this->dispatch('helpdesk-kanban-moved', ticketId: (int) $freshTicket->id, statusId: (int) $freshTicket->status_id);
$this->dispatch('helpdesk:toast', type: 'success', title: 'Ticket moved', message: $message);
$this->dispatch('thredary:toast', type: 'success', title: 'Ticket moved', message: $message);
} finally {
$this->isMovingTicket = false;
}
@@ -121,15 +121,15 @@ final class KanbanBoard extends Component
$this->board_id = $board->id;
$fresh = $ticket->fresh(['status', 'priority', 'category', 'project', 'team', 'board']) ?? $ticket;
$fresh = $ticket->fresh(['user:id,name,email', 'owner:id,name,email', 'agent:id,name,email', 'status', 'priority', 'category', 'project', 'team', 'board']) ?? $ticket;
$workflow->dispatch($fresh, 'ticket.updated', Auth::user());
$message = 'Ticket ' . $fresh->reference . ' moved from ' . $oldBoardName . ' to ' . $board->name . '.';
$message = 'Ticket '.$fresh->reference.' moved from '.$oldBoardName.' to '.$board->name.'.';
session()->flash('success', $message);
$this->refreshBoard();
$this->dispatch('helpdesk-kanban-moved', ticketId: (int) $fresh->id, statusId: (int) $fresh->status_id);
$this->dispatch('helpdesk:toast', type: 'success', title: 'Board changed', message: $message);
$this->dispatch('thredary:toast', type: 'success', title: 'Board changed', message: $message);
}
/**
@@ -191,7 +191,7 @@ final class KanbanBoard extends Component
'statuses' => $board?->statuses ?? collect(),
'ticketsByStatus' => $this->ticketsByStatus($board),
'refreshNonce' => $this->refreshNonce,
])->layout('layouts.app', ['title' => __('Helpdesk Kanban')]);
])->layout('layouts.app');
}
/**
@@ -234,7 +234,7 @@ final class KanbanBoard extends Component
/**
* Resolve the selected board from an already-loaded board collection.
*
* @param Collection<int, KanbanBoardModel> $boards
* @param Collection<int, KanbanBoardModel> $boards
*/
private function resolveSelectedBoard(Collection $boards): ?KanbanBoardModel
{
@@ -718,7 +718,7 @@ final class SettingsManager extends Component
'tags' => Tag::query()->orderBy('name')->get(),
'checklistTemplates' => ChecklistTemplate::query()->orderBy('name')->get(),
'colourOptions' => Color::options(),
])->layout('layouts.app', ['title' => __('Helpdesk Settings')]);
])->layout('layouts.app');
}
private function orderedStatuses(): mixed
+1 -1
View File
@@ -146,7 +146,7 @@ final class TicketCreate extends Component
'projects' => $this->projectOptions(),
'products' => Product::query()->where('is_active', true)->orderBy('name')->get(),
'tags' => Tag::query()->orderBy('name')->get(),
])->layout('layouts.app', ['title' => __('Create Helpdesk Ticket')]);
])->layout('layouts.app');
}
/**
+1 -1
View File
@@ -198,7 +198,7 @@ final class TicketEdit extends Component
'products' => Product::query()->where('is_active', true)->orderBy('name')->get(),
'tags' => Tag::query()->orderBy('name')->get(),
'agents' => $this->agentOptions(),
])->layout('layouts.app', ['title' => __('Edit Helpdesk Ticket')]);
])->layout('layouts.app');
}
/**
+1 -1
View File
@@ -105,7 +105,7 @@ final class TicketIndex extends Component
'tickets' => $this->tickets(),
'statuses' => Status::query()->orderBy('sort_order')->get(),
'priorities' => Priority::query()->orderBy('sort_order')->get(),
])->layout('layouts.app', ['title' => __('Helpdesk Tickets')]);
])->layout('layouts.app');
}
private function resetTicketDeletionState(): void
+1 -1
View File
@@ -325,7 +325,7 @@ final class TicketShow extends Component
'priorities' => Priority::query()->orderBy('sort_order')->get(),
'agents' => $this->agentOptions(),
'cannedResponses' => CannedResponse::query()->where('is_active', true)->orderBy('sort_order')->orderBy('name')->get(),
])->layout('layouts.app', ['title' => __('Helpdesk Ticket')]);
])->layout('layouts.app');
}
private function normaliseNullableInt(mixed $value): ?int