Urgents

Exported on {{ now()->format('F j, Y \a\t g:i A') }}
@forelse ($urgents_export as $item) @php $scheduled = $item->scheduled; $sessionID = $item->session_id ?? 'N/A'; $studentName = $item->aggregated_student_names ?: ($item->student ? ($item->student->full_name ?? trim(($item->student->first_name ?? '') . ' ' . ($item->student->last_name ?? ''))) : ($scheduled?->trackType?->name ?? ($scheduled?->academyProduct?->name_en ?? 'N/A'))); $teacherName = $item->teacher ? ($item->teacher->full_name ?? trim(($item->teacher->first_name ?? '') . ' ' . ($item->teacher->last_name ?? ''))) : 'N/A'; $managerName = $item->teacher?->manager ? ($item->teacher->manager->full_name ?? trim(($item->teacher->manager->first_name ?? '') . ' ' . ($item->teacher->manager->last_name ?? ''))) : 'N/A'; $trackName = $scheduled?->track?->name_en ?? ($scheduled?->academyProduct?->name_en ?? 'N/A'); $levelName = $scheduled?->trackLevel?->name_en ?? ($scheduled?->academyProduct?->name_en ?? 'N/A'); $groupLabel = $scheduled?->trackType?->name ?? ($scheduled?->academyProduct?->name_en ?? 'N/A'); $latestAdminAssignment = $scheduled?->courseAdmins?->sortByDesc('created_at')->first(); $latestAdminUser = $latestAdminAssignment?->admin; $latestAdminName = $latestAdminUser?->full_name ?? '-'; $messages = collect(preg_split('/\r\n|\r|\n/', (string) ($item->aggregated_messages ?: $item->message), -1, PREG_SPLIT_NO_EMPTY)) ->map(fn($message) => trim($message)) ->filter() ->unique() ->values(); $types = collect(preg_split('/\r\n|\r|\n/', (string) ($item->aggregated_types ?: $item->type), -1, PREG_SPLIT_NO_EMPTY)) ->map(fn($type) => trim($type)) ->filter() ->unique() ->values(); $sources = collect(preg_split('/\r\n|\r|\n/', (string) ($item->aggregated_sources ?: $item->source), -1, PREG_SPLIT_NO_EMPTY)) ->map(fn($source) => trim($source)) ->filter() ->unique() ->values(); $normalizedMessage = strtolower($messages->implode(' ')); $isNoShow = str_contains($normalizedMessage, "didn't show") || str_contains($normalizedMessage, 'didn’t show') || str_contains($normalizedMessage, 'no-show') || str_contains($normalizedMessage, 'no show'); @endphp @empty @endforelse
Session ID Date Type Source Message Student Admin Teacher Supervisor Program Level Group
{{ $sessionID }} {{ $item->created_at?->format('Y-m-d') ?? 'N/A' }} @foreach ($types as $type) {{ \App\Enums\UrgentCase::labelFor($type) }}
@endforeach
@forelse ($sources as $source) {{ $source ? ucfirst(str_replace('_', ' ', $source)) : 'Manual' }}{{ ! $loop->last ? ', ' : '' }} @empty Manual @endforelse @foreach ($messages as $message) {{ $message }}
@endforeach
{!! nl2br(e($studentName)) !!} {{ $latestAdminName }} {{ $teacherName }} {{ $managerName }} {{ $trackName }} {{ $levelName }} {{ $groupLabel }}
No urgents found.