@extends('layouts/contentNavbarLayout') @php $scheduleItems = $schedules ->sortByDesc(function ($schedule) { return $schedule->created_at ?? $schedule->id ?? 0; }) ->map(function ($schedule) { $course = optional($schedule->facultyCourse)->course; $faculty = optional($schedule->facultyCourse)->faculty; return [ 'id' => $schedule->id, 'faculty_course_id' => $schedule->faculty_course_id, 'course_code' => optional($course)->class_code, 'course_subject' => $course->subject_code ?? '', 'faculty_name' => optional(optional($faculty)->user)->name ?? $faculty->name ?? '', 'time' => $schedule->time, 'day' => $schedule->day, ]; })->values(); $facultyCourseOptions = $facultyCourses->map(function ($facultyCourse) { $course = optional($facultyCourse->course); $faculty = optional($facultyCourse->faculty); $courseCodeRaw = $course->class_code ?? ''; $courseSubjectRaw = $course->subject_code ?? ''; $facultyRawName = optional(optional($faculty)->user)->name ?? $faculty->name ?? ''; $facultyName = trim($facultyRawName) === '' ? '' : $facultyRawName; $academicYear = trim($facultyCourse->academic_year ?? ''); $semesterRaw = trim($facultyCourse->semester ?? ''); $formattedAcademicYear = $academicYear; $semesterDisplay = $semesterRaw; $courseCode = trim($courseCodeRaw ?? ''); $courseSubject = trim($courseSubjectRaw ?? ''); $label = $course ? trim($courseCode . ($courseSubject ? ' - ' . $courseSubject : '')) : 'Course #' . $facultyCourse->id; $termParts = array_filter([$formattedAcademicYear, $semesterDisplay], function ($value) { return trim($value ?? '') !== ''; }); $termLabel = implode(' • ', $termParts); $searchTokens = array_filter([$label, $facultyRawName, $academicYear, $formattedAcademicYear, $semesterRaw, $semesterDisplay], function ($value) { return trim($value ?? '') !== ''; }); $searchValue = strtolower($searchTokens ? implode(' ', $searchTokens) : $label); return [ 'id' => $facultyCourse->id, 'label' => $label, 'code' => $courseCode !== '' ? $courseCode : 'N/A', 'subject' => $courseSubject, 'faculty' => $facultyName, 'academic_year' => $academicYear, 'academic_year_display' => $formattedAcademicYear, 'semester' => $semesterDisplay, 'term' => $termLabel, 'search' => $searchValue, ]; })->values(); $dayOptions = [ ['value' => 'M', 'label' => 'Monday'], ['value' => 'T', 'label' => 'Tuesday'], ['value' => 'W', 'label' => 'Wednesday'], ['value' => 'TH', 'label' => 'Thursday'], ['value' => 'F', 'label' => 'Friday'], ['value' => 'S', 'label' => 'Saturday'], ['value' => 'SU', 'label' => 'Sunday'], ]; $generateTimeOptions = function ($intervalMinutes = 30) { $times = []; $totalMinutes = 24 * 60; for ($minutes = 0; $minutes < $totalMinutes; $minutes += $intervalMinutes) { $hour24 = intdiv($minutes, 60); $minute = $minutes % 60; $hour12 = $hour24 % 12; if ($hour12 === 0) { $hour12 = 12; } $period = $hour24 < 12 ? 'a' : 'p'; $times[] = sprintf('%02d:%02d%s', $hour12, $minute, $period); } return $times; }; $timeOptions = collect($generateTimeOptions()); $container = 'container-xxl'; @endphp @section('title', 'Data Management - Schedules') @section('page-style') @endsection @section('content') @php $flashSuccess = session('success'); $flashError = session('error'); $pageToasts = []; if ($flashSuccess) { $pageToasts[] = ['type' => 'success', 'message' => $flashSuccess]; } if ($flashError) { $pageToasts[] = ['type' => 'danger', 'message' => $flashError]; } @endphp @include('components.dm-toast', ['messages' => $pageToasts])
Schedule Actions

Use the actions above to add, update, or import schedules.

Course Time Day(s) Actions
0 Selected
{{-- Create Schedule Modal --}} {{-- Edit Schedule Modal --}} {{-- Delete Schedule Modal --}} {{-- Bulk Delete Modal --}} {{-- Import Modal --}} @endsection @section('page-script') @include('components.table-controller-script') @endsection