From 604be55d6170ec8e4efbdf10c0ed97eefe3d7d03 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 20 Jul 2026 12:19:03 +0800 Subject: [PATCH] Update calendar view to automatically mark missing past days as Absent --- .../AttendanceRecordController.php | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/AttendanceRecordController.php b/app/Http/Controllers/AttendanceRecordController.php index 5f6e8a0a4..24044b031 100644 --- a/app/Http/Controllers/AttendanceRecordController.php +++ b/app/Http/Controllers/AttendanceRecordController.php @@ -1032,8 +1032,18 @@ class AttendanceRecordController extends Controller $dateIndex = $dateObj->dayOfWeek; $isRestDay = !in_array($dateIndex, $workingDaysIndices); - $status = $isRestDay ? 'RD' : '--'; - $label = $isRestDay ? 'Rest Day' : 'Not Marked'; + $isPast = $dateObj->isBefore(\Carbon\Carbon::today()); + + if ($isRestDay) { + $status = 'RD'; + $label = 'Rest Day'; + } else if ($isPast) { + $status = 'A'; + $label = 'Absent (No Record)'; + } else { + $status = '--'; + $label = 'Not Marked'; + } $recordDetail = null; if ($userRecords->has($dateKey)) { @@ -1242,8 +1252,13 @@ class AttendanceRecordController extends Controller $status = 'W'; $label = 'Weekend'; } else { - $status = '--'; - $label = 'Not Marked'; + if ($isPast) { + $status = 'A'; + $label = 'Absent (No Record)'; + } else { + $status = '--'; + $label = 'Not Marked'; + } } $recordDetail = null;