Browse Source

deleted professors and users list resolved and hidden

master
Mohsen Taba 3 weeks ago
parent
commit
752580f590
  1. 8
      apps/course/serializers/admin.py
  2. 6
      apps/course/views/professor.py

8
apps/course/serializers/admin.py

@ -123,8 +123,8 @@ class AdminCourseCategorySerializer(serializers.ModelSerializer):
class AdminCourseListSerializer(serializers.ModelSerializer): class AdminCourseListSerializer(serializers.ModelSerializer):
category_name = serializers.SerializerMethodField() category_name = serializers.SerializerMethodField()
professor_name = serializers.SerializerMethodField(read_only=True) 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() participant_count = serializers.SerializerMethodField()
thumbnail = serializers.SerializerMethodField() thumbnail = serializers.SerializerMethodField()
@ -190,8 +190,8 @@ class AdminCourseDetailSerializer(serializers.ModelSerializer):
slug = serializers.JSONField(required=False, allow_null=True) slug = serializers.JSONField(required=False, allow_null=True)
category_name = serializers.SerializerMethodField() category_name = serializers.SerializerMethodField()
professor_name = serializers.SerializerMethodField(read_only=True) 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) thumbnail = FileFieldSerializer(required=False, allow_null=True)
video_file = FileFieldSerializer(required=False, allow_null=True) video_file = FileFieldSerializer(required=False, allow_null=True)
participant_count = serializers.SerializerMethodField() participant_count = serializers.SerializerMethodField()

6
apps/course/views/professor.py

@ -63,7 +63,7 @@ class ProfessorListAPIView(ListAPIView):
def get_queryset(self): def get_queryset(self):
return ( return (
UserModel.objects.filter(user_type=UserModel.UserType.PROFESSOR)
UserModel.objects.filter(user_type=UserModel.UserType.PROFESSOR, is_active=True)
.annotate( .annotate(
course_count=Count('courses', distinct=True), course_count=Count('courses', distinct=True),
lesson_count=Count('courses__lessons', filter=Q(courses__lessons__is_active=True), 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): 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), course_count=Count('courses', distinct=True),
lesson_count=Count('courses__lessons', filter=Q(courses__lessons__is_active=True), 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): def get_queryset(self):
slug = self.kwargs.get('slug') 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( return Course.objects.select_related('category').prefetch_related(
'professors', 'professors',
'lessons__lesson', 'lessons__lesson',

Loading…
Cancel
Save