From 46c757006b3be7bbb1726cf71a909cafe4e188ec Mon Sep 17 00:00:00 2001 From: alireza Date: Tue, 14 Jan 2025 17:35:53 +0330 Subject: [PATCH] fix quiz --- apps/quiz/serializers/quiz.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/quiz/serializers/quiz.py b/apps/quiz/serializers/quiz.py index 64b5903..6ca1eea 100644 --- a/apps/quiz/serializers/quiz.py +++ b/apps/quiz/serializers/quiz.py @@ -1,7 +1,7 @@ from rest_framework import serializers from apps.quiz.models import Question, Quiz, QuizParticipant -from apps.course.models import Lesson +from apps.course.models import Lesson, Participant @@ -22,10 +22,19 @@ class QuizListSerializer(serializers.ModelSerializer): return False # Check if the user has participated in this quiz user = request.user + course = obj.lesson.course + + if not self._is_participant(user, course): + return False + participated = QuizParticipant.objects.filter(user=user, quiz=obj).exists() return not participated + def _is_participant(self, student, course): + """Helper method to check if a student is a participant in the given course.""" + return Participant.objects.filter(student=student, course=course).exists() +