fixed ticket display

This commit is contained in:
Mark Gregory
2026-06-22 11:37:36 +01:00
parent 95f29457d8
commit de336c219d
2 changed files with 19 additions and 11 deletions
+4 -10
View File
@@ -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));
+15 -1
View File
@@ -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<Comment> */
public function replies(): HasMany
{
return $this->hasMany(self::class, 'parent_id')->oldest();
return $this->hasMany(self::class, 'parent_id')
->active()
->oldest();
}
/** @return BelongsTo<User, Comment> */
@@ -84,4 +87,15 @@ final class Comment extends Model
{
return $this->hasMany(Attachment::class, 'comment_id');
}
/** @param Builder<Comment> $query */
public function scopeActive(Builder $query): Builder
{
return $query->whereNull('tombstoned_at');
}
}