@extends('layout.layout') @section('content') @php $authStaffDepartment = auth()->user()->staff->department ?? null; $authStaffDepartmentName = strtolower(trim($authStaffDepartment->name ?? '')); $authStaffDepartmentSlug = strtolower(trim($authStaffDepartment->slug ?? '')); $isRetentionDepartment = $authStaffDepartmentName === 'retention' || $authStaffDepartmentSlug === 'retention'; @endphp @include('components.alert')
Back to Courses @can('retention_courses_destroy') @if (($course->courseStudent->count() ?? 0) === 0) @endif @endcan
@php $hasDelayedWhiteboard = $course->scheduledSessions->contains(function ($session) { if (empty($session->session_date) || empty($session->end_time)) { return false; } $sessionEndDateTime = \Carbon\Carbon::parse($session->session_date . ' ' . $session->end_time); if (!empty($session->start_time) && $sessionEndDateTime->lessThanOrEqualTo(\Carbon\Carbon::parse($session->session_date . ' ' . $session->start_time))) { $sessionEndDateTime->addDay(); } return now()->greaterThan($sessionEndDateTime->copy()->addHours(12)) && empty($session->extra_file); }); @endphp
Course Summary @if($hasDelayedWhiteboard) Delayed White Board @endif
@if ($isRetentionDepartment) @endif
@php $statusLabel = $course->status ?? 'Active'; $statusKey = in_array(strtolower($statusLabel), ['active', 'scheduled']) ? 'success' : 'warn'; @endphp

{{ $course->id }}

{{ $course->category->name_en ?? 'N/A' }}

{{ $course->trackType->name ?? 'N/A' }}

{{ $course->start_date }}

{{ $course->end_date }}

{{-- Teacher --}} {{-- ✅ Leader --}}
@php $leaders = collect($course->courseAdmins ?? []) ->pluck('admin.staff.manager') ->filter() ->unique('id'); @endphp @forelse ($leaders as $leader) {{ $leader->full_name ?? trim(($leader->first_name ?? '') . ' ' . ($leader->last_name ?? '')) ?: 'Leader' }} @empty No leader assigned @endforelse
@php $uniqueAdmins = collect($course->courseAdmins ?? []) ->pluck('admin') ->filter() ->unique('id'); if ($is_retention_leader) { $currentStaffId = auth()->user()->staff->id; $uniqueAdmins = $uniqueAdmins->filter(function($admin) use ($currentStaffId) { return optional($admin->staff)->manager_id == $currentStaffId; }); } @endphp @forelse ($uniqueAdmins as $adminUser) {{ optional($adminUser->staff)->full_name ?? trim( (optional($adminUser->staff)->first_name ?? '') . ' ' . (optional($adminUser->staff)->last_name ?? '') ) ?: ($adminUser->full_name ?? $adminUser->name ?? $adminUser->email ?? 'Admin') }} @empty No admins assigned @endforelse
{{-- Secondary Admins --}}
@if($can_change_admin) @endif
@php $secondaryAdmins = $course->secondaryAdmins; if ($is_retention_leader) { $currentStaffId = auth()->user()->staff->id; $secondaryAdmins = $secondaryAdmins->filter(function($admin) use ($currentStaffId) { return optional($admin->staff)->manager_id == $currentStaffId; }); } @endphp @forelse ($secondaryAdmins as $adminUser) {{ optional($adminUser->staff)->full_name ?? trim( (optional($adminUser->staff)->first_name ?? '') . ' ' . (optional($adminUser->staff)->last_name ?? '') ) ?: ($adminUser->full_name ?? $adminUser->name ?? $adminUser->email ?? 'Admin') }} @empty No secondary admins assigned @endforelse

{{ $course->track->name_en ?? 'N/A' }}

{{ $course->trackLevel->name_en ?? 'N/A' }}

@foreach ($course->scheduledSessions->map(fn($s) => \Carbon\Carbon::parse($s->session_date)->format('l'))->unique() as $day) {{ $day }} @endforeach
{{ $course->session }}
{{ $statusLabel }}
@include('dashboard.academics.courses.notes') @include('dashboard.academics.courses.course_slots') @include('dashboard.academics.courses.course_students') @include('dashboard.academics.courses.change_teacher_modal')
@can('retention_courses_destroy') @if (($course->courseStudent->count() ?? 0) === 0) @endif @endcan @if($can_change_admin) @endif @endsection @push('scripts') @endpush