Browse Source

fix quiz is_complated

master
alireza 1 year ago
parent
commit
b6fd493c13
  1. 13
      apps/quiz/serializers/quiz.py

13
apps/quiz/serializers/quiz.py

@ -10,11 +10,12 @@ from apps.course.models import Lesson, Participant
class QuizListSerializer(serializers.ModelSerializer):
is_complated = serializers.SerializerMethodField()
permission = serializers.SerializerMethodField()
class Meta:
model = Quiz
fields = ['id', 'title', 'description', 'permission', 'each_question_timing',]
fields = ['id', 'title', 'description', 'permission', 'each_question_timing', 'is_complated']
def get_permission(self, obj):
request = self.context.get('request')
@ -35,6 +36,14 @@ class QuizListSerializer(serializers.ModelSerializer):
"""Helper method to check if a student is a participant in the given course."""
return Participant.objects.filter(student=student, course=course).exists()
def get_is_complated(self, obj):
request = self.context.get('request')
if not request or not request.user.is_authenticated:
return False
user = request.user
return QuizParticipant.objects.filter(user=user, quiz=obj).exists()
@ -71,5 +80,3 @@ class QuizSerializer(serializers.ModelSerializer):
user = request.user
participated = QuizParticipant.objects.filter(user=user, quiz=obj).exists()
return not participated
Loading…
Cancel
Save