diff --git a/app/Filament/Resources/Learning/Assignments/Pages/ListAssignments.php b/app/Filament/Resources/Learning/Assignments/Pages/ListAssignments.php index 1f537f5..635b8b5 100644 --- a/app/Filament/Resources/Learning/Assignments/Pages/ListAssignments.php +++ b/app/Filament/Resources/Learning/Assignments/Pages/ListAssignments.php @@ -60,14 +60,14 @@ public function assignments(): Collection return Assignment::with(['course', 'assignmentSubmissions' => function ($q) use ($studentProfile) { $q->where('student_id', $studentProfile->id) - ->orWhereHas('studyGroup', fn ($sq) => $sq->whereHas('students', fn ($ssq) => $ssq->whereKey($studentProfile->id))); + ->orWhereHas('studyGroup', fn ($sq) => $sq->where('leader_id', $studentProfile->id)->orWhereHas('students', fn ($ssq) => $ssq->whereKey($studentProfile->id))); }, 'studyGroups.students']) ->whereHas('course', function ($q) { $q->where('semester', app(GeneralSettings::class)->current_semester); }) ->where(function ($query) use ($studentProfile) { $query->whereHas('students', fn ($q) => $q->whereKey($studentProfile->id)) - ->orWhereHas('studyGroups', fn ($q) => $q->whereHas('students', fn ($sq) => $sq->whereKey($studentProfile->id))); + ->orWhereHas('studyGroups', fn ($q) => $q->where('leader_id', $studentProfile->id)->orWhereHas('students', fn ($sq) => $sq->whereKey($studentProfile->id))); }) ->when(! empty($pinnedIds), function ($query) use ($pinnedIds) { $ids = implode(',', $pinnedIds); @@ -91,7 +91,7 @@ public function assignmentCards() $isLeader = false; if ($isGroup) { $userGroup = $assignment->studyGroups->first(function ($g) use ($studentProfile) { - return $g->students->contains($studentProfile->id); + return $g->leader_id === $studentProfile->id || $g->students->contains($studentProfile->id); }); $isLeader = $userGroup && $userGroup->leader_id === $studentProfile->id; } diff --git a/app/Filament/Resources/Learning/Assignments/Pages/SubmitAssignmentPage.php b/app/Filament/Resources/Learning/Assignments/Pages/SubmitAssignmentPage.php index 4fe05e8..85b3386 100644 --- a/app/Filament/Resources/Learning/Assignments/Pages/SubmitAssignmentPage.php +++ b/app/Filament/Resources/Learning/Assignments/Pages/SubmitAssignmentPage.php @@ -72,7 +72,7 @@ public function currentGroup(): ?StudyGroup $student = $this->student; return $this->record->studyGroups() - ->whereHas('students', fn ($q) => $q->whereKey($student->id)) + ->where(fn ($q) => $q->where('leader_id', $student->id)->orWhereHas('students', fn ($sq) => $sq->whereKey($student->id))) ->first(); }