Browse Source

debug lesson

master
nwhco 1 year ago
parent
commit
b23e5f28cf
  1. 19
      apps/course/serializers/lesson.py
  2. 2
      apps/course/views/lesson.py

19
apps/course/serializers/lesson.py

@ -9,11 +9,28 @@ from apps.quiz.serializers import QuizListSerializer
class LessonSerializer(serializers.ModelSerializer):
is_complated = serializers.SerializerMethodField()
quizs = serializers.SerializerMethodField()
permission = serializers.SerializerMethodField()
class Meta:
model = Lesson
fields = ['id', 'title', 'priority', 'is_active', 'duration', 'content_type', 'content_file', 'video_link', 'is_complated', 'quizs']
fields = ['id', 'title', 'priority', 'is_active', 'permission','duration', 'content_type', 'content_file', 'video_link', 'is_complated', 'quizs']
def get_permission(self, obj):
if student := self._get_authenticated_user():
if not self._is_participant(student, obj.course):
return False
return True
return False
def _get_authenticated_user(self):
"""Helper method to retrieve the authenticated user from the context."""
request = self.context.get('request')
return request.user if request and request.user.is_authenticated else None
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()
def get_is_complated(self, obj):
request = self.context.get('request')
if not request or not request.user.is_authenticated:

2
apps/course/views/lesson.py

@ -28,7 +28,7 @@ class LessonListView(ListAPIView):
def get_queryset(self):
course_slug = self.kwargs.get('slug')
course = get_object_or_404(Course, )
course = get_object_or_404(Course, slug=course_slug)
course = Course.objects.filter(slug=course_slug).first()
if not course:
raise AppAPIException({"message": "course not found"}, status_code=status.HTTP_404_NOT_FOUND)

Loading…
Cancel
Save