|
|
|
@ -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 |
|
|
|
|
|
|
|
|