LIL-224. Add serializer, viewset, route, admin for ImageObject model

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent bed9b3eb98
commit 75d59cf622
  1. 19
      api/v1/serializers.py
  2. 3
      api/v1/urls.py
  3. 10
      api/v1/views.py
  4. 7
      apps/content/admin.py

@ -6,12 +6,29 @@ from . import Base64ImageField
from apps.course.models import Category, Course, Material, Lesson, Like
from apps.content.models import (
Image, Text, ImageText, Video,
Gallery, GalleryImage,
Gallery, GalleryImage, ImageObject,
)
User = get_user_model()
class ImageObjectSerializer(serializers.ModelSerializer):
image = Base64ImageField(
required=True, allow_empty_file=False, allow_null=False,
)
class Meta:
model = ImageObject
fields = (
'id',
'image',
)
read_only_fields = (
'id',
)
class MaterialSerializer(serializers.ModelSerializer):
class Meta:

@ -12,7 +12,7 @@ from .views import (
ImageViewSet, TextViewSet,
ImageTextViewSet, VideoViewSet,
GalleryViewSet, GalleryImageViewSet,
UserViewSet, LessonViewSet,
UserViewSet, LessonViewSet, ImageObjectViewSet,
)
router = DefaultRouter()
@ -22,6 +22,7 @@ router.register(r'materials', MaterialViewSet, base_name='materials')
router.register(r'lessons', LessonViewSet, base_name='lessons')
router.register(r'likes', LikeViewSet, base_name='likes')
router.register(r'image-objects', ImageObjectViewSet, base_name='image-objects')
router.register(r'images', ImageViewSet, base_name='images')
router.register(r'texts', TextViewSet, base_name='texts')
router.register(r'image-texts', ImageTextViewSet, base_name='image-texts')

@ -15,19 +15,25 @@ from .serializers import (
UserSerializer, UserPhotoSerializer,
LessonSerializer, ContentImageSerializer,
GalleryImageSerializer, CoverImageSerializer,
CourseRetrieveSerializer,
CourseRetrieveSerializer, ImageObjectSerializer,
)
from .permissions import IsAdmin, IsAdminOrIsSelf, IsAuthorOrAdmin, IsAuthorObjectOrAdmin
from apps.course.models import Category, Course, Material, Lesson, Like
from apps.content.models import (
Image, Text, ImageText, Video,
Gallery, GalleryImage,
Gallery, GalleryImage, ImageObject,
)
User = get_user_model()
class ImageObjectViewSet(ExtendedModelViewSet):
queryset = ImageObject.objects.all()
serializer_class = ImageObjectSerializer
# permission_classes = (IsAuthorOrAdmin,)
class MaterialViewSet(ExtendedModelViewSet):
queryset = Material.objects.all()
serializer_class = MaterialSerializer

@ -7,10 +7,15 @@ from polymorphic.admin import (
from apps.content.models import (
Content, Image, Text, ImageText, Video,
Gallery, GalleryImage,
Gallery, GalleryImage, ImageObject,
)
@admin.register(ImageObject)
class ImageObjectAdmin(admin.ModelAdmin):
pass
class ContentChildAdmin(PolymorphicChildModelAdmin):
base_model = Content

Loading…
Cancel
Save