|
|
|
|
@ -7,14 +7,18 @@ from rest_framework.response import Response |
|
|
|
|
|
|
|
|
|
from . import ExtendedModelViewSet |
|
|
|
|
from .serializers import ( |
|
|
|
|
CategorySerializer, CourseSerializer, |
|
|
|
|
CategorySerializer, |
|
|
|
|
CourseSerializer, CourseCreateSerializer, |
|
|
|
|
MaterialSerializer, LikeSerializer, |
|
|
|
|
ImageSerializer, TextSerializer, ImageCreateSerializer, |
|
|
|
|
ImageTextSerializer, VideoSerializer, |
|
|
|
|
GallerySerializer, GalleryImageSerializer, GalleryImageCreateSerializer, |
|
|
|
|
ImageSerializer, ImageCreateSerializer, |
|
|
|
|
TextSerializer, TextCreateSerializer, |
|
|
|
|
ImageTextSerializer, ImageTextCreateSerializer, |
|
|
|
|
VideoSerializer, VideoCreateSerializer, |
|
|
|
|
GallerySerializer, |
|
|
|
|
GalleryImageSerializer, GalleryImageCreateSerializer, |
|
|
|
|
UserSerializer, UserPhotoSerializer, |
|
|
|
|
LessonSerializer, CourseCreateSerializer, |
|
|
|
|
ImageObjectSerializer, LessonCreateSerializer, |
|
|
|
|
LessonSerializer, LessonCreateSerializer, |
|
|
|
|
ImageObjectSerializer, |
|
|
|
|
) |
|
|
|
|
from .permissions import IsAdmin, IsAdminOrIsSelf, IsAuthorOrAdmin, IsAuthorObjectOrAdmin |
|
|
|
|
|
|
|
|
|
@ -118,7 +122,11 @@ class TextViewSet(ExtendedModelViewSet): |
|
|
|
|
queryset = Text.objects.select_related( |
|
|
|
|
'course', 'lesson' |
|
|
|
|
).all() |
|
|
|
|
serializer_class = TextSerializer |
|
|
|
|
serializer_class = TextCreateSerializer |
|
|
|
|
serializer_class_map = { |
|
|
|
|
'list': TextSerializer, |
|
|
|
|
'retrieve': TextSerializer, |
|
|
|
|
} |
|
|
|
|
search_fields = ('title',) |
|
|
|
|
ordering_fields = ('title', 'created_at', 'update_at', 'position',) |
|
|
|
|
# permission_classes = (IsAuthorOrAdmin,) |
|
|
|
|
@ -131,7 +139,11 @@ class ImageTextViewSet(ExtendedModelViewSet): |
|
|
|
|
queryset = ImageText.objects.select_related( |
|
|
|
|
'course', 'lesson', 'img' |
|
|
|
|
).all() |
|
|
|
|
serializer_class = ImageTextSerializer |
|
|
|
|
serializer_class = ImageTextCreateSerializer |
|
|
|
|
serializer_class = { |
|
|
|
|
'list': ImageTextSerializer, |
|
|
|
|
'retrieve': ImageTextSerializer, |
|
|
|
|
} |
|
|
|
|
search_fields = ('title',) |
|
|
|
|
ordering_fields = ('title', 'created_at', 'update_at', 'position',) |
|
|
|
|
# permission_classes = (IsAuthorOrAdmin,) |
|
|
|
|
@ -144,7 +156,11 @@ class VideoViewSet(ExtendedModelViewSet): |
|
|
|
|
queryset = Video.objects.select_related( |
|
|
|
|
'course', 'lesson' |
|
|
|
|
).all() |
|
|
|
|
serializer_class = VideoSerializer |
|
|
|
|
serializer_class = VideoCreateSerializer |
|
|
|
|
serializer_class_map = { |
|
|
|
|
'list': VideoSerializer, |
|
|
|
|
'retrieve': VideoSerializer, |
|
|
|
|
} |
|
|
|
|
search_fields = ('title',) |
|
|
|
|
ordering_fields = ('title', 'created_at', 'update_at', 'position',) |
|
|
|
|
# permission_classes = (IsAuthorOrAdmin,) |
|
|
|
|
|