feat: status presensi per kelas di dropdown input

Dropdown kelas sekarang menampilkan:
- ⬜ Nama Kelas → belum ada data presensi
- ✅ Nama Kelas (5/36) → sudah terisi (X siswa terdata dari total)
- Legend kecil di bawah dropdown sebagai panduan
This commit is contained in:
Bro
2026-07-24 18:12:39 +07:00
parent 129d3456a9
commit 5df740fcf8
2 changed files with 31 additions and 2 deletions
+20 -1
View File
@@ -105,11 +105,30 @@ class AttendanceController extends Controller
->orderBy('class_name')
->pluck('class_name');
// Cek status presensi per kelas untuk tanggal ini
$classAttendanceStatus = [];
foreach ($classNames as $cn) {
$studentIdsInClass = Student::where('is_active', true)
->where('class_name', $cn)
->pluck('id');
$count = Attendance::where('date', $date)
->whereIn('student_id', $studentIdsInClass)
->distinct('student_id')
->count('student_id');
$totalStudents = $studentIdsInClass->count();
$classAttendanceStatus[$cn] = [
'has_data' => $count > 0,
'recorded' => $count,
'total' => $totalStudents,
];
}
$lessonHours = range(1, 10);
return view('attendances.create', compact(
'students', 'date', 'className',
'classNames', 'lessonHours', 'existing'
'classNames', 'lessonHours', 'existing',
'classAttendanceStatus'
));
}