From de336c219def5b9d27a60c38b4ce4fb82d6d5b74 Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Mon, 22 Jun 2026 11:37:36 +0100 Subject: [PATCH] fixed ticket display --- Modules/Helpdesk/Livewire/TicketShow.php | 14 ++++---------- Modules/Helpdesk/Models/Comment.php | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Modules/Helpdesk/Livewire/TicketShow.php b/Modules/Helpdesk/Livewire/TicketShow.php index 7fe6efb2..7bfcedf6 100644 --- a/Modules/Helpdesk/Livewire/TicketShow.php +++ b/Modules/Helpdesk/Livewire/TicketShow.php @@ -316,21 +316,15 @@ final class TicketShow extends Component ]) ?? $ticket; $this->hydrateTicketUsers($ticket); - - $comments = Comment::query() - ->where('ticket_id', $ticket->id) - ->when(Schema::hasColumn('helpdesk_comments', 'deleted_at'), static function ($query): void { - $query->whereNull('deleted_at'); - }) - ->when(Schema::hasColumn('helpdesk_comments', 'tombstoned_at'), static function ($query): void { - $query->whereNull('tombstoned_at'); - }) + $comments = $ticket->comments() + ->active() ->when(! $this->canSeeInternalNotes(), static function ($query): void { $query->where('is_internal', false); }) - ->with(['user.company', 'attachments']) + ->with(['user.company', 'attachments', 'replies.user.company', 'replies.attachments']) ->oldest() ->get(); + $ticket->setRelation('comments', $comments); $ticket->setAttribute('public_replies_count', $comments->where('is_internal', false)->count()); $ticket->setAttribute('time_spent_minutes', $this->sumCommentMinutes($comments)); diff --git a/Modules/Helpdesk/Models/Comment.php b/Modules/Helpdesk/Models/Comment.php index 1229a72b..d72dd2ac 100644 --- a/Modules/Helpdesk/Models/Comment.php +++ b/Modules/Helpdesk/Models/Comment.php @@ -8,6 +8,7 @@ use App\Models\User; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\Builder; final class Comment extends Model { @@ -64,7 +65,9 @@ final class Comment extends Model /** @return HasMany */ public function replies(): HasMany { - return $this->hasMany(self::class, 'parent_id')->oldest(); + return $this->hasMany(self::class, 'parent_id') + ->active() + ->oldest(); } /** @return BelongsTo */ @@ -84,4 +87,15 @@ final class Comment extends Model { return $this->hasMany(Attachment::class, 'comment_id'); } + + /** @param Builder $query */ + + public function scopeActive(Builder $query): Builder + + { + + return $query->whereNull('tombstoned_at'); + + } + }