From 2df11f9f58ac82020f02cf095f6b144ffff69574 Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Wed, 17 Jun 2026 09:05:56 +0100 Subject: [PATCH] WORKIGN COMMENTS --- .../TicketCommentStoreController.php | 57 +++++++++++++++++++ .../views/livewire/ticket-show.blade.php | 39 ++++--------- .../views/partials/comment-thread.blade.php | 27 ++------- Modules/Helpdesk/Routes/web.php | 2 + .../Browser/HelpdeskTicketBrowserTest.php | 26 +++++---- Modules/Helpdesk/changelog.yaml | 9 +-- 6 files changed, 97 insertions(+), 63 deletions(-) create mode 100644 Modules/Helpdesk/Http/Controllers/TicketCommentStoreController.php diff --git a/Modules/Helpdesk/Http/Controllers/TicketCommentStoreController.php b/Modules/Helpdesk/Http/Controllers/TicketCommentStoreController.php new file mode 100644 index 00000000..4aabe880 --- /dev/null +++ b/Modules/Helpdesk/Http/Controllers/TicketCommentStoreController.php @@ -0,0 +1,57 @@ +validate([ + 'commentBody' => ['required', 'string', 'min:2'], + 'attachments' => ['nullable', 'array'], + 'attachments.*' => [ + 'file', + 'max:'.config('helpdesk.max_upload_kb', 10240), + 'mimes:'.implode(',', config('helpdesk.allowed_mimes', ['jpg', 'jpeg', 'png', 'pdf', 'txt', 'log', 'zip'])), + ], + ]); + + $user = Auth::user(); + + if ($user === null) { + throw ValidationException::withMessages([ + 'commentBody' => 'You must be signed in to comment on this ticket.', + ]); + } + + $internal = $request->user()?->can('update', $ticket) === true && $request->boolean('internal'); + + $tickets->comment( + ticket: $ticket, + user: $user, + body: (string) $validated['commentBody'], + internal: $internal, + files: $request->file('attachments', []), + ); + + return redirect() + ->route('helpdesk.tickets.show', $ticket) + ->with('ticket-comment-added', 'Reply posted.'); + } +} diff --git a/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php b/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php index a8cd63a1..98c7b2f2 100644 --- a/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php +++ b/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php @@ -80,8 +80,14 @@ @endif -
+
+ @csrf

Add reply

+ @if (session('ticket-comment-added')) +
+ {{ session('ticket-comment-added') }} +
+ @endif @if ($cannedResponses->isNotEmpty())
@@ -96,20 +102,7 @@
@endif -
- - - @error('commentBody') -
{{ $message }}
- @enderror -
+ @can('update', $ticket)
@@ -119,25 +112,17 @@
- + @error('attachments.*')
{{ $message }}
@enderror
-
-
+