@extends('layouts.app') @section('title', 'Total Tickets') @section('content')

Total Tickets

View all tickets

{{ $stats['total'] }}

Total Tickets

@if(request('per_page')) @endif
Reset
Total Tickets ({{ $stats['total'] }})
SHOW
@if(request('search')) @endif @if(request('status')) @endif @if(request('priority')) @endif @if(request('category_id')) @endif @if(request('date_from')) @endif @if(request('date_to')) @endif
ENTRIES
@forelse($tickets as $ticket) @empty @endforelse
Ticket # Reseller Category Sub Category Priority Status Solving Status Solved by Created by Created At Actions
{{ $ticket->ticket_number }} @if($ticket->user) @if($ticket->user->reseller && $ticket->user->reseller->name) {{ $ticket->user->reseller->name }} @elseif($ticket->user->company_name) {{ $ticket->user->company_name }} @else {{ $ticket->user->name ?? 'N/A' }} @endif @else N/A @endif {{ $ticket->category->name ?? 'N/A' }} {{ $ticket->subcategory->name ?? 'N/A' }} @php $priorityColors = [ 'low' => '#6c757d', 'medium' => '#17a2b8', 'high' => '#ffc107', 'urgent' => '#dc3545' ]; $priorityColor = $priorityColors[$ticket->priority] ?? '#6c757d'; @endphp {{ ucfirst($ticket->priority) }} @php $statusLabel = ucfirst(str_replace('_', ' ', $ticket->status)); @endphp {{ $statusLabel }} @php $isSolved = $ticket->resolved_at || $ticket->status === 'resolved' || $ticket->status === 'closed'; $isSolving = $ticket->status === 'in_progress' || ($ticket->assignedEmployees && $ticket->assignedEmployees->where('pivot.is_active', true)->count() > 0); @endphp @if($isSolved) Solved @else Not Solve @endif @php // Find who solved the ticket $solvedByEmployee = null; if ($isSolved) { $resolvedAt = $ticket->resolved_at ?? ($ticket->closed_at ?? now()); // Find assignment that was active before resolution and deactivated around resolution time $solvedAssignment = DB::table('reseller_ticket_employee_assignments') ->where('reseller_ticket_id', $ticket->id) ->where('is_active', false) ->whereNotNull('assigned_at') ->orderBy('updated_at', 'desc') ->first(); if ($solvedAssignment) { $solvedEmployee = DB::table('employees') ->where('id', $solvedAssignment->employee_id) ->first(); $solvedByEmployee = $solvedEmployee ? $solvedEmployee->name : null; } // If not found, try to find any employee who had assignment for this ticket if (!$solvedByEmployee) { $anyAssignment = DB::table('reseller_ticket_employee_assignments') ->where('reseller_ticket_id', $ticket->id) ->orderBy('updated_at', 'desc') ->first(); if ($anyAssignment) { $anyEmployee = DB::table('employees') ->where('id', $anyAssignment->employee_id) ->first(); $solvedByEmployee = $anyEmployee ? $anyEmployee->name : null; } } } @endphp @if($isSolved && $solvedByEmployee) {{ $solvedByEmployee }} @elseif($isSolved) N/A @else - @endif @php $createdByUser = $ticket->createdBy; @endphp @if($createdByUser) @if($createdByUser->employeeRecord) {{ $createdByUser->employeeRecord->name ?? $createdByUser->name ?? 'N/A' }} @else {{ $createdByUser->name ?? 'N/A' }} @endif @else N/A @endif {{ $ticket->created_at->format('Y-m-d H:i') }}
{{ $ticket->created_at->diffForHumans() }}
View Edit
No tickets found
{{ $tickets->links() }}
@endsection