@extends('layouts.app') @section('title', 'Total Tickets') @section('content')
View all tickets
Total Tickets
| 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 | ||||||||||