diff --git a/app/Filament/Resources/Learning/ClassSessions/Pages/ListCourseSessions.php b/app/Filament/Resources/Learning/ClassSessions/Pages/ListCourseSessions.php index 6ede154..9e203a5 100644 --- a/app/Filament/Resources/Learning/ClassSessions/Pages/ListCourseSessions.php +++ b/app/Filament/Resources/Learning/ClassSessions/Pages/ListCourseSessions.php @@ -212,13 +212,20 @@ public function viewAssignmentsAction(): Action ->modalWidth(Width::TwoExtraLarge) ->modalContent(fn (array $arguments) => view('filament.resources.learning.class-sessions.assignments-modal', [ 'assignments' => ClassSession::find($arguments['session'] ?? null, ['*'])?->assignments() + ->with(['assignmentSubmissions.student']) ->latest() ->get() ->map(fn ($a) => (object) [ 'id' => $a->id, 'title' => $a->title, 'type_label' => $a->type?->getLabel() ?? 'Tugas', - 'due_date_formatted' => $a->due_date?->translatedFormat('d F Y, H:i') ?? '-', + 'due_date_formatted' => $a->due_date?->translatedFormat('d F Y H:i') ?? '-', + 'submissions' => $a->assignmentSubmissions->map(fn ($s) => (object) [ + 'student_name' => $s->student->full_name, + 'student_number' => $s->student->student_number, + 'submitted_at_formatted' => $s->submitted_at?->translatedFormat('d F Y H:i') ?? '-', + 'id' => $s->id, + ]), ]) ?? collect(), ])); } diff --git a/database/factories/AssignmentSubmissionFactory.php b/database/factories/AssignmentSubmissionFactory.php new file mode 100644 index 0000000..83c3148 --- /dev/null +++ b/database/factories/AssignmentSubmissionFactory.php @@ -0,0 +1,28 @@ + + */ +class AssignmentSubmissionFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'assignment_id' => Assignment::factory(), + 'student_id' => Student::factory(), + 'submitted_at' => now(), + ]; + } +} diff --git a/resources/views/filament/resources/learning/class-sessions/assignments-modal.blade.php b/resources/views/filament/resources/learning/class-sessions/assignments-modal.blade.php index b759c5b..b52f03f 100644 --- a/resources/views/filament/resources/learning/class-sessions/assignments-modal.blade.php +++ b/resources/views/filament/resources/learning/class-sessions/assignments-modal.blade.php @@ -1,32 +1,72 @@ -
+
@forelse($assignments as $assignment) -
-
-
- -
-
- - {{ $assignment->type_label }} - - {{ $assignment->title }} -
- - - Deadline: {{ $assignment->due_date_formatted }} +
+
+
+
+ +
+
+ + {{ $assignment->type_label }} + {{ $assignment->title }} +
+ + + Deadline: {{ $assignment->due_date_formatted }} + +
-
- - - -
+ + @if ($assignment->submissions->count() > 0) +
+ + + + + + + + + @foreach ($assignment->submissions as $submission) + + + + + @endforeach + +
MahasiswaWaktu Unggah
+
+ {{ $submission->student_name }} + + NIM: {{ $submission->student_number }} + +
+
+ + {{ $submission->submitted_at_formatted }} + +
+
+
+

+ Total Pengumpulan: {{ $assignment->submissions->count() }} + Mahasiswa +

+
+ @else +
+ +

Belum ada pengumpulan untuk tugas ini.

+
+ @endif
@empty