diff --git a/app/Http/Controllers/ShareAttendanceController.php b/app/Http/Controllers/ShareAttendanceController.php index 2faa4e4..8653970 100644 --- a/app/Http/Controllers/ShareAttendanceController.php +++ b/app/Http/Controllers/ShareAttendanceController.php @@ -4,17 +4,19 @@ use App\Models\Assignment; use App\Models\Attendance; +use App\Models\ClassSession; use App\Models\Course; +use App\Models\Student; +use Carbon\Carbon; +use Illuminate\Contracts\View\View; use Illuminate\Http\Request; class ShareAttendanceController extends Controller { - public function show(Request $request, string $token) + public function show(Request $request, string $token): View { - app()->setLocale('id'); $course = Course::where('sharing_token', $token)->firstOrFail(); - // Define default date: if today has no attendance, use the most recent attendance date $latestAttendance = Attendance::whereHas('courseSchedule', function ($query) use ($course) { $query->where('course_id', $course->id); }) @@ -45,6 +47,26 @@ public function show(Request $request, string $token) ->latest() ->get(); - return view('pages.share-attendance', compact('course', 'attendances', 'date', 'availableDates', 'assignments')); + $sessionInfo = ClassSession::where('course_id', $course->id)->whereDate('date', $date)->first(); + $totalStudents = Student::whereHas('user', fn ($q) => $q->active())->count(); + $presentCount = $attendances->count(); + $attendancePercentage = $totalStudents > 0 ? round(($presentCount / $totalStudents) * 100) : 0; + + $formattedTime = $sessionInfo + ? Carbon::parse($sessionInfo->start_time)->format('H:i').' - '.Carbon::parse($sessionInfo->end_time)->format('H:i') + : '-'; + + return view('pages.share-attendance', compact( + 'course', + 'attendances', + 'date', + 'availableDates', + 'assignments', + 'sessionInfo', + 'totalStudents', + 'presentCount', + 'attendancePercentage', + 'formattedTime' + )); } } diff --git a/resources/views/pages/share-attendance.blade.php b/resources/views/pages/share-attendance.blade.php index 82aff73..7693bcb 100644 --- a/resources/views/pages/share-attendance.blade.php +++ b/resources/views/pages/share-attendance.blade.php @@ -5,277 +5,181 @@
-
+
| Mahasiswa | +NIM + | ++ Waktu Presensi | +
|---|---|---|
|
+
+
+
+ {{ $attendance->student->full_name }}
+
+ |
+ + + {{ $attendance->student->student_number }} + + | +
+
+
+ {{ $attendance->attended_at ? $attendance->attended_at->format('H:i') : '-' }}
+ WIB
+
+ |
+
|
+
+
+
+
+ + Tidak ada data kehadiran+Belum ada + data kehadiran untuk sesi ini. + |
+ ||
| - Mahasiswa | -- Nomor Induk | -- Waktu Presensi | -
|---|---|---|
|
-
-
-
- {{ collect(explode(' ', $attendance->student->full_name))->map(fn($n) => substr($n, 0, 1))->take(2)->join('') }}
-
-
- {{ $attendance->student->full_name }}
-
- |
- - - {{ $attendance->student->student_number }} - - | -
-
-
- {{ $attendance->attended_at ? $attendance->attended_at->format('H:i') : '-' }}
- WIB
-
- |
-
|
- - Belum ada data kehadiran untuk sesi ini - |
- ||