@inject('slaService', 'App\Services\Helpdesk\SlaService') @extends('admin/layouts/admin') @section('title', __($ticket->subject, ['name' => $item->username])) @section('styles') @endsection @section('scripts') @endsection @section('content')
@include('shared/alerts')

{{ $ticket->subject }}

{{ __('helpdesk.support.show.index_description') }}

@foreach ($ticket->messages->groupBy(fn($msg) => $msg->created_at->translatedFormat('d M, Y')) as $date => $messages)

{{ $date }}

@foreach ($messages as $i => $message)

{!! $message->replyText($i, 'admin') !!} @if ($message->admin_id != null) @if ($message->read_at) @else @endif @endif

@if ($message->isStaff() && $message->canEdit()) @endif

{!! $message->formattedMessage() !!}

@if ($message->hasAttachments($ticket->attachments))
@foreach ($message->getAttachments($ticket->attachments) as $attachment) {{ Str::limit($attachment->filename, 30) }} @endforeach
@endif
@if ($message->isStaff()) {{ $message->staffUsername() }} @elseif($message->isCustomer()) {{ $message->customer->excerptFullName() }} @endif ยท {{ $message->edited_at ? __('helpdesk.support.show.edited_at', ['date' => $message->edited_at->format('H:i')]) : $message->created_at->format('H:i') }}
@if ($message->isStaff() && $message->canEdit()) @endif @endforeach @endforeach
@if ($ticket->isOpen())

{{ __('helpdesk.support.show.replyinticket') }}

@csrf @if ($errors->has('content')) @foreach ($errors->get('content') as $error)
{{ $error }}
@endforeach @endif
@include('admin/shared/file2', [ 'name' => 'attachments', 'label' => __('helpdesk.attachments'), 'help' => __('helpdesk.support.attachments_help', [ 'size' => setting('helpdesk_attachments_max_size'), 'types' => formatted_extension_list( setting('helpdesk_attachments_allowed_types')), ]), ])
@else @endif
@includeWhen(app('extension')->extensionIsEnabled('helpdesk_autoreply'), 'helpdesk_autoreply_admin::predefined_responses._ticket_panel', ['ticket' => $ticket] )
@foreach ($ticket->attachedUsers() as $initials => $username)
{{ $initials }}
@endforeach
  • {{ $ticket->department->name }}
  • @if ($ticket->isValidRelated()) {{ $ticket->related->relatedName() }} @endif {{ $ticket->customer->excerptFullName() }}
  • {{ __('helpdesk.priority') }}
  • {{ __('helpdesk.support.show.open_on', ['date' => $ticket->created_at->format('d/m H:i')]) }}
  • @if ($ticket->closed_at)
  • {{ __('helpdesk.support.show.closed_on', ['date' => $ticket->closed_at->format('d/m H:i')]) }}
  • @endif @if ($ticket->assigned_to)
  • {{ __('helpdesk.support.show.assigned_to') }} {{ $ticket->assignedTo->username }}
  • @endif @if ($ticket->first_response_due_at || $ticket->resolution_due_at) @php $slaStatus = $slaService->statusFor($ticket); @endphp @if ($ticket->first_response_due_at)
  • {{ __('helpdesk.admin.tickets.sla.first_response') }} @if ($ticket->first_response_at) @if ($ticket->first_response_at->greaterThan($ticket->first_response_due_at)) {{ __('helpdesk.admin.tickets.sla.breached') }} @else {{ __('helpdesk.admin.tickets.sla.met') }} @endif @else @if ($slaStatus['first_response_breached']) {{ __('helpdesk.admin.tickets.sla.breached') }} ({{ __('helpdesk.admin.tickets.sla.breached_by', ['mins' => abs($slaStatus['first_response_due_in'])]) }}) @else {{ __('helpdesk.admin.tickets.sla.due_in', ['mins' => $slaStatus['first_response_due_in']]) }} @endif @endif
  • @endif @if ($ticket->resolution_due_at)
  • {{ __('helpdesk.admin.tickets.sla.resolution') }} @if (!$ticket->isOpen()) @if ($ticket->closed_at && $ticket->closed_at->greaterThan($ticket->resolution_due_at)) {{ __('helpdesk.admin.tickets.sla.breached') }} @else {{ __('helpdesk.admin.tickets.sla.met') }} @endif @else @if ($slaStatus['resolution_breached']) {{ __('helpdesk.admin.tickets.sla.breached') }} ({{ __('helpdesk.admin.tickets.sla.breached_by', ['mins' => abs($slaStatus['resolution_due_in'])]) }}) @else {{ __('helpdesk.admin.tickets.sla.due_in', ['mins' => $slaStatus['resolution_due_in']]) }} @endif @endif
  • @endif @endif
    @foreach ($ticket->attachments as $attachment)
  • {{ Str::limit($attachment->filename, 30) }}
  • @endforeach
@if ($ticket->isOpen())
@csrf @include('admin/shared/textarea', [ 'name' => 'reason', 'label' => __('helpdesk.support.show.close_reason'), 'value' => old('reason', $ticket->close_reason), ]) @method('DELETE')
@else
@csrf
@endif
@include('admin/shared/input', [ 'name' => 'uuid', 'label' => 'UUID', 'value' => $ticket->uuid, 'readonly' => true, ])
@include('admin/shared/input', [ 'name' => 'id', 'label' => 'ID', 'value' => $ticket->id, 'readonly' => true, ])
@include('admin/shared/input', [ 'name' => 'created_at', 'label' => __('global.created'), 'value' => $ticket->created_at->format('d/m/y H:i'), 'readonly' => true, ])

{{ __('helpdesk.support.show.comments.title') }}

@if ($ticket->comments->count() > 0)
    @foreach ($ticket->comments as $comment)
  • {{ $comment->comment }}

    {{ $comment->created_at->format('d/m/y H:i') }} - {{ $comment->staff->excerptFullName() }} @csrf @method('DELETE')

  • @endforeach
@else

{{ __('helpdesk.support.show.comments.no_comments') }}

@endif
@csrf @include('admin/shared/textarea', [ 'name' => 'comment', 'label' => __('helpdesk.support.show.comments.add_comment'), ])
@foreach ($ticket->messages as $message) @if (!$message->isStaff()) @continue @endif @endforeach @endsection