|
|
|
|
@ -7,6 +7,11 @@ from .content import ( |
|
|
|
|
GallerySerializer, GalleryImageSerializer, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
from apps.content.models import ( |
|
|
|
|
Content, Image, Text, ImageText, Video, |
|
|
|
|
Gallery, GalleryImage, ImageObject, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MaterialCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
|
|
|
|
|
@ -29,7 +34,7 @@ class MaterialCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MaterialSerializer(MaterialCreateSerializer): |
|
|
|
|
cover = ImageObjectSerializer() |
|
|
|
|
cover = ImageObjectSerializer(allow_null=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class LikeSerializer(serializers.ModelSerializer): |
|
|
|
|
@ -130,14 +135,14 @@ class CourseCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
i.position = c['data']['position'] |
|
|
|
|
i.title = c['data']['title'] |
|
|
|
|
i.course = course |
|
|
|
|
i.img = Image.objects.get(c['data']['img']) |
|
|
|
|
i.img = ImageObject.objects.get(id=c['data']['img']['id']) |
|
|
|
|
i.save() |
|
|
|
|
else: |
|
|
|
|
i = Image.objects.create( |
|
|
|
|
position=c['data']['position'], |
|
|
|
|
title=c['data']['title'], |
|
|
|
|
course=course, |
|
|
|
|
img=Image.objects.get(c['data']['img']), |
|
|
|
|
img=Image.objects.get(id=c['data']['img']['id']), |
|
|
|
|
) |
|
|
|
|
elif c['type'] == 'image-text': |
|
|
|
|
if 'id' in c['data']: |
|
|
|
|
@ -145,7 +150,7 @@ class CourseCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
it.position = c['data']['position'] |
|
|
|
|
it.title = c['data']['title'] |
|
|
|
|
it.course = course |
|
|
|
|
it.img = Image.objects.get(c['data']['img']) |
|
|
|
|
it.img = ImageObject.objects.get(id=c['data']['img']['id']) |
|
|
|
|
it.txt = c['data']['txt'] |
|
|
|
|
it.save() |
|
|
|
|
else: |
|
|
|
|
@ -153,7 +158,7 @@ class CourseCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
position=c['data']['position'], |
|
|
|
|
title=c['data']['title'], |
|
|
|
|
course=course, |
|
|
|
|
img=Image.objects.get(c['data']['img']), |
|
|
|
|
img=Image.objects.get(id=c['data']['img']['id']), |
|
|
|
|
txt=c['data']['txt'], |
|
|
|
|
) |
|
|
|
|
elif c['type'] == 'video': |
|
|
|
|
@ -187,8 +192,8 @@ class CourseCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
return course |
|
|
|
|
|
|
|
|
|
def update(self, instance, validated_data): |
|
|
|
|
materials = validated_data.pop('materials') |
|
|
|
|
content = validated_data.pop('content') |
|
|
|
|
materials = validated_data.pop('materials', []) |
|
|
|
|
content = validated_data.pop('content', []) |
|
|
|
|
|
|
|
|
|
course = super().update(instance, validated_data) |
|
|
|
|
|
|
|
|
|
@ -214,14 +219,14 @@ class CourseCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
i.position = c['data']['position'] |
|
|
|
|
i.title = c['data']['title'] |
|
|
|
|
i.course = course |
|
|
|
|
i.img = Image.objects.get(c['data']['img']) |
|
|
|
|
i.img = Image.objects.get(id=c['data']['img']['id']) |
|
|
|
|
i.save() |
|
|
|
|
else: |
|
|
|
|
i = Image.objects.create( |
|
|
|
|
position=c['data']['position'], |
|
|
|
|
title=c['data']['title'], |
|
|
|
|
course=course, |
|
|
|
|
img=Image.objects.get(c['data']['img']), |
|
|
|
|
img=Image.objects.get(id=c['data']['img']['id']), |
|
|
|
|
) |
|
|
|
|
elif c['type'] == 'imagetext': |
|
|
|
|
if 'id' in c['data']: |
|
|
|
|
@ -229,7 +234,7 @@ class CourseCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
it.position = c['data']['position'] |
|
|
|
|
it.title = c['data']['title'] |
|
|
|
|
it.course = course |
|
|
|
|
it.img = Image.objects.get(c['data']['img']) |
|
|
|
|
it.img = Image.objects.get(id=c['data']['img']['id']) |
|
|
|
|
it.txt = c['data']['txt'] |
|
|
|
|
it.save() |
|
|
|
|
else: |
|
|
|
|
@ -237,7 +242,7 @@ class CourseCreateSerializer(serializers.ModelSerializer): |
|
|
|
|
position=c['data']['position'], |
|
|
|
|
title=c['data']['title'], |
|
|
|
|
course=course, |
|
|
|
|
img=Image.objects.get(c['data']['img']), |
|
|
|
|
img=Image.objects.get(id=c['data']['img']['id']), |
|
|
|
|
txt=c['data']['txt'], |
|
|
|
|
) |
|
|
|
|
elif c['type'] == 'video': |
|
|
|
|
|