@extends('layouts.app') @section('title', 'View Employee') @section('content')
View employee information
| Ticket # | Reseller | Priority | Status | Assign To | Assign To Duration | Category | Assigned At | Created At | Actions |
|---|---|---|---|---|---|---|---|---|---|
| {{ $ticket->ticket_number }} | {{ $ticket->user->reseller->company_name ?? $ticket->user->name ?? 'N/A' }} | {{ ucfirst($ticket->priority) }} | @php $statusLabel = in_array($ticket->status, ['resolved', 'closed']) ? 'Solved' : ucfirst(str_replace('_', ' ', $ticket->status)); @endphp @if($ticket->status == 'in_progress') @else {{ $statusLabel }} @endif | @php // Get current active assignment for this employee $currentAssignment = DB::table('reseller_ticket_employee_assignments') ->where('reseller_ticket_id', $ticket->id) ->where('employee_id', $employee->id) ->where('is_active', true) ->first(); // Check if there's a previous assignment (inactive) - means ticket was forwarded $hasPreviousAssignment = DB::table('reseller_ticket_employee_assignments') ->where('reseller_ticket_id', $ticket->id) ->where('employee_id', '!=', $employee->id) ->where('is_active', false) ->exists(); $forwardedTo = null; $forwardedBy = null; $assignedBy = null; if ($currentAssignment) { // Get user name who assigned/forwarded it if ($currentAssignment->assigned_by) { $assignedByUser = \App\Models\User::find($currentAssignment->assigned_by); $assignedBy = $assignedByUser ? $assignedByUser->name : 'N/A'; } if ($hasPreviousAssignment) { // Ticket was forwarded $forwardedTo = $employee->name; $forwardedBy = $assignedBy; } } @endphp @if($currentAssignment) @if($hasPreviousAssignment && $forwardedTo && $forwardedBy) @else @endif @else N/A @endif | @php $assignedAtForDuration = DB::table('reseller_ticket_employee_assignments') ->where('reseller_ticket_id', $ticket->id) ->where('employee_id', $employee->id) ->orderBy('assigned_at', 'desc') ->value('assigned_at'); $durationBadge = 'N/A'; $startIso = null; $endIso = null; $isStatic = false; if ($assignedAtForDuration) { $assignedAtCarbon = \Carbon\Carbon::parse($assignedAtForDuration); if (in_array($ticket->status, ['resolved','closed']) && ($ticket->resolved_at || $ticket->closed_at)) { $endAt = \Carbon\Carbon::parse($ticket->resolved_at ?? $ticket->closed_at); $isStatic = true; } else { $endAt = now(); } $startIso = $assignedAtCarbon->toIso8601String(); $endIso = $endAt->toIso8601String(); $diff = $assignedAtCarbon->diff($endAt); $durationBadge = sprintf('%dd:%dh:%dm:%ds', $diff->days, $diff->h, $diff->i, $diff->s); } @endphp {{ $durationBadge }} | {{ $ticket->category->name ?? 'N/A' }} | @php $assignment = DB::table('reseller_ticket_employee_assignments') ->where('reseller_ticket_id', $ticket->id) ->where('employee_id', $employee->id) ->where('is_active', true) ->first(); @endphp @if($assignment && $assignment->assigned_at) {{ \Carbon\Carbon::parse($assignment->assigned_at)->diffForHumans() }} @else N/A @endif | {{ $ticket->created_at->format('Y-m-d H:i') }} | @php // Get current active assignment for this employee $currentAssignment = DB::table('reseller_ticket_employee_assignments') ->where('reseller_ticket_id', $ticket->id) ->where('employee_id', $employee->id) ->where('is_active', true) ->first(); // Check if there's a previous assignment (inactive) - means ticket was forwarded $hasPreviousAssignment = DB::table('reseller_ticket_employee_assignments') ->where('reseller_ticket_id', $ticket->id) ->where('employee_id', '!=', $employee->id) ->where('is_active', false) ->exists(); $forwardedTo = null; $forwardedBy = null; $assignedBy = null; if ($currentAssignment) { // Get user name who assigned/forwarded it if ($currentAssignment->assigned_by) { $assignedByUser = \App\Models\User::find($currentAssignment->assigned_by); $assignedBy = $assignedByUser ? $assignedByUser->name : 'N/A'; } if ($hasPreviousAssignment) { // Ticket was forwarded $forwardedTo = $employee->name; $forwardedBy = $assignedBy; } } @endphp @if($currentAssignment) @if($hasPreviousAssignment && $forwardedTo && $forwardedBy) {{-- Forward button for forwarded tickets --}} @else {{-- Assign button for new/directly assigned tickets --}} @endif @endif View |
| Ticket # | Reseller | Problem | Priority | Status | Assign To | Duration | Created At | Actions |
|---|---|---|---|---|---|---|---|---|
| {{ $ticket->ticket_number }} | @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 | {{ $ticket->category->name ?? ($ticket->description ? Str::limit($ticket->description, 30) : 'N/A') }} | @php $priorityColors = [ 'low' => '#6c757d', 'medium' => '#17a2b8', 'high' => '#ffc107', 'urgent' => '#dc3545' ]; $priorityColor = $priorityColors[$ticket->priority] ?? '#6c757d'; @endphp {{ ucfirst($ticket->priority) }} | @php $statusLabel = in_array($ticket->status, ['resolved', 'closed']) ? 'Solved' : ucfirst(str_replace('_', ' ', $ticket->status)); @endphp {{ $statusLabel }} | {{ $buttonText }} | @php $startIso = \Carbon\Carbon::parse($ticket->created_at)->toIso8601String(); $isStatic = ($ticket->resolved_at || $ticket->closed_at) ? true : false; $endIso = $isStatic ? \Carbon\Carbon::parse($ticket->resolved_at ?? $ticket->closed_at)->toIso8601String() : null; @endphp {{ $solvedDuration }} | {{ $ticket->created_at->format('Y-m-d H:i') }} | View |
| No tickets found | ||||||||