diff --git a/apps/course/serializers/admin.py b/apps/course/serializers/admin.py index b7181cb..1a3c7f3 100644 --- a/apps/course/serializers/admin.py +++ b/apps/course/serializers/admin.py @@ -123,8 +123,8 @@ class AdminCourseCategorySerializer(serializers.ModelSerializer): class AdminCourseListSerializer(serializers.ModelSerializer): category_name = serializers.SerializerMethodField() professor_name = serializers.SerializerMethodField(read_only=True) - professors = serializers.PrimaryKeyRelatedField(queryset=ProfessorUser.objects.all(), many=True, required=False) - professor = serializers.PrimaryKeyRelatedField(queryset=ProfessorUser.objects.all(), required=False, allow_null=True, write_only=True) + professors = serializers.PrimaryKeyRelatedField(queryset=ProfessorUser.objects.filter(is_active=True), many=True, required=False) + professor = serializers.PrimaryKeyRelatedField(queryset=ProfessorUser.objects.filter(is_active=True), required=False, allow_null=True, write_only=True) participant_count = serializers.SerializerMethodField() thumbnail = serializers.SerializerMethodField() @@ -190,8 +190,8 @@ class AdminCourseDetailSerializer(serializers.ModelSerializer): slug = serializers.JSONField(required=False, allow_null=True) category_name = serializers.SerializerMethodField() professor_name = serializers.SerializerMethodField(read_only=True) - professors = serializers.PrimaryKeyRelatedField(queryset=ProfessorUser.objects.all(), many=True, required=False) - professor = serializers.PrimaryKeyRelatedField(queryset=ProfessorUser.objects.all(), required=False, allow_null=True, write_only=True) + professors = serializers.PrimaryKeyRelatedField(queryset=ProfessorUser.objects.filter(is_active=True), many=True, required=False) + professor = serializers.PrimaryKeyRelatedField(queryset=ProfessorUser.objects.filter(is_active=True), required=False, allow_null=True, write_only=True) thumbnail = FileFieldSerializer(required=False, allow_null=True) video_file = FileFieldSerializer(required=False, allow_null=True) participant_count = serializers.SerializerMethodField() diff --git a/apps/course/views/professor.py b/apps/course/views/professor.py index 14a8cce..895fb94 100644 --- a/apps/course/views/professor.py +++ b/apps/course/views/professor.py @@ -63,7 +63,7 @@ class ProfessorListAPIView(ListAPIView): def get_queryset(self): return ( - UserModel.objects.filter(user_type=UserModel.UserType.PROFESSOR) + UserModel.objects.filter(user_type=UserModel.UserType.PROFESSOR, is_active=True) .annotate( course_count=Count('courses', distinct=True), lesson_count=Count('courses__lessons', filter=Q(courses__lessons__is_active=True), distinct=True), @@ -132,7 +132,7 @@ class ProfessorDetailAPIView(RetrieveAPIView): def get_queryset(self): - return UserModel.objects.filter(user_type=UserModel.UserType.PROFESSOR).annotate( + return UserModel.objects.filter(user_type=UserModel.UserType.PROFESSOR, is_active=True).annotate( course_count=Count('courses', distinct=True), lesson_count=Count('courses__lessons', filter=Q(courses__lessons__is_active=True), distinct=True), ) @@ -197,7 +197,7 @@ class ProfessorCourseListAPIView(ListAPIView): def get_queryset(self): slug = self.kwargs.get('slug') - professor = get_object_or_404(UserModel.objects.filter(user_type=UserModel.UserType.PROFESSOR, slug=slug)) + professor = get_object_or_404(UserModel.objects.filter(user_type=UserModel.UserType.PROFESSOR, is_active=True, slug=slug)) return Course.objects.select_related('category').prefetch_related( 'professors', 'lessons__lesson',