LIL-704 Починить выпадающий список

remotes/origin/feature/LIL-711
gzbender 7 years ago
parent 801fb416e8
commit d891c7089c
  1. 19
      api/v1/serializers/course.py
  2. 21
      api/v1/views.py
  3. 1
      requirements.txt

@ -1,9 +1,8 @@
from django.contrib.auth import get_user_model
from ipware import get_client_ip
from rest_framework import serializers
from rest_framework.validators import UniqueValidator
from django.contrib.auth import get_user_model
from drf_dynamic_fields import DynamicFieldsMixin
from apps.course.models import (
Category, Course,
@ -13,17 +12,9 @@ from apps.course.models import (
LiveLessonComment)
from .content import (
ImageObjectSerializer, ContentSerializer, ContentCreateSerializer,
GallerySerializer, GalleryImageSerializer,
)
from apps.content.models import (
Content, Image, Text, ImageText, Video,
Gallery, GalleryImage, ImageObject,
ContestWork)
from .user import UserSerializer
GallerySerializer, )
from .mixins import DispatchContentMixin, DispatchGalleryMixin, DispatchMaterialMixin
from .user import UserSerializer
User = get_user_model()
@ -269,7 +260,7 @@ class LessonSerializer(serializers.ModelSerializer):
)
class CourseSerializer(serializers.ModelSerializer):
class CourseSerializer(DynamicFieldsMixin, serializers.ModelSerializer):
author = UserSerializer()
category = CategorySerializer()
materials = MaterialSerializer(many=True)

@ -18,7 +18,7 @@ from .serializers.course import (
MaterialSerializer, MaterialCreateSerializer,
LessonSerializer, LessonCreateSerializer,
LikeCreateSerializer, CourseCommentSerializer, LessonCommentSerializer,
LiveLessonCommentSerializer)
LiveLessonCommentSerializer,)
from .serializers.content import (
BanerSerializer,
ImageSerializer, ImageCreateSerializer,
@ -36,8 +36,7 @@ from .serializers.school import (
)
from .serializers.payment import (
AuthorBalanceSerializer, AuthorBalanceCreateSerializer,
PaymentSerializer, CoursePaymentSerializer,
SchoolPaymentSerializer,
PaymentSerializer,
CoursePaymentCreateSerializer, SchoolPaymentCreateSerializer)
from .serializers.user import (
AuthorRequestSerializer,
@ -48,7 +47,7 @@ from .serializers.contest import (
)
from .permissions import (
IsAdmin, IsAdminOrIsSelf,
IsAdmin,
IsAuthorOrAdmin, IsAuthorObjectOrAdmin,
IsTeacherOrAdmin,
)
@ -240,6 +239,20 @@ class CourseViewSet(ExtendedModelViewSet):
# 'delete': IsAdmin,
# }
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
if request.query_params.get('page'):
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
else:
return Response({'results': []})
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
@list_route(methods=['get'])
def draft(self, request):
drafts = Course.objects.filter(author=request.user, status=Course.DRAFT)

@ -33,3 +33,4 @@ django-imagekit
pusher==2.0.1
short_url
sendgrid
drf_dynamic_fields

Loading…
Cancel
Save