diff --git a/server/assignments/schema/types.py b/server/assignments/schema/types.py index 9de39436..453050af 100644 --- a/server/assignments/schema/types.py +++ b/server/assignments/schema/types.py @@ -59,7 +59,7 @@ class AssignmentNode(DjangoObjectType): def resolve_submissions(self, info, **kwargs): user = info.context.user if user.has_perm('users.can_manage_school_class_content'): - return self.submissions.filter(student__in=user.users_in_same_school_class()).filter(final=True) + return self.submissions.filter(student__in=user.users_in_active_school_class()).filter(final=True) return [] def resolve_solution(self, info, **kwargs): diff --git a/server/assignments/tests/test_feedback.py b/server/assignments/tests/test_feedback.py index 13e39fd0..b5f510a8 100644 --- a/server/assignments/tests/test_feedback.py +++ b/server/assignments/tests/test_feedback.py @@ -38,6 +38,8 @@ class SubmissionFeedbackTestCase(SkillboxTestCase): user=user, school_class=school_class ) + user.set_selected_class(school_class) + def _create_submission_feedback(self, user, final, text, student_submission_id): return self.get_client(user).execute(UPDATE_SUBMISSION_FEEDBACK_MUTATION, variables={ diff --git a/server/users/models.py b/server/users/models.py index 8fc62cfa..cbdf6d70 100644 --- a/server/users/models.py +++ b/server/users/models.py @@ -73,6 +73,9 @@ class User(AbstractUser): def users_in_same_school_class(self): return User.objects.filter(school_classes__users=self.pk) + def users_in_active_school_class(self): + return self.selected_class.users.all() if self.selected_class is not None else [] + def get_teacher(self): if self.is_teacher(): return self