diff --git a/api/v1/serializers/mixins.py b/api/v1/serializers/mixins.py index cfddefd5..d75cbd12 100644 --- a/api/v1/serializers/mixins.py +++ b/api/v1/serializers/mixins.py @@ -32,35 +32,23 @@ class DispatchContentMixin(object): if 'id' in cdata and cdata['id']: t = Text.objects.get(id=cdata.pop('id')) serializer = TextCreateSerializer(t, data=cdata) - if serializer.is_valid(): - serializer.save() else: serializer = TextCreateSerializer(data=cdata) - if serializer.is_valid(): - serializer.save() + if serializer.is_valid(): + serializer.save() elif ctype == 'image': if 'id' in cdata and cdata['id']: image = Image.objects.get(id=cdata.pop('id')) serializer = ImageCreateSerializer(image, data=cdata) - if serializer.is_valid(): - image = serializer.save() - else: - continue - try: - image_object = ImageObject.objects.get(id=cdata['img']) - except ImageObject.DoesNotExist: - pass - else: - image.img = image_object - image.save() else: serializer = ImageCreateSerializer(data=cdata) - if serializer.is_valid(): - image = serializer.save() - else: - continue + if serializer.is_valid(): + image = serializer.save() + else: + continue + if 'img' in cdata: try: - image_object = ImageObject.objects.get(id=cdata['img']) + image_object = ImageObject.objects.get(id=cdata.get('img')) except ImageObject.DoesNotExist: pass else: @@ -71,25 +59,15 @@ class DispatchContentMixin(object): if 'id' in cdata and cdata['id']: it = ImageText.objects.get(id=cdata.pop('id')) serializer = ImageTextCreateSerializer(it, data=cdata) - if serializer.is_valid(): - it = serializer.save() - else: - continue - try: - image_object = ImageObject.objects.get(id=cdata['img']) - except ImageObject.DoesNotExist: - pass - else: - it.img = image_object - it.save() else: serializer = ImageTextCreateSerializer(data=cdata) - if serializer.is_valid(): - it = serializer.save() - else: - continue + if serializer.is_valid(): + it = serializer.save() + else: + continue + if 'img' in cdata: try: - image_object = ImageObject.objects.get(id=cdata['img']) + image_object = ImageObject.objects.get(id=cdata.get('img')) except ImageObject.DoesNotExist: pass else: @@ -100,52 +78,36 @@ class DispatchContentMixin(object): if 'id' in cdata and cdata['id']: v = Video.objects.get(id=cdata.pop('id')) serializer = VideoCreateSerializer(v, data=cdata) - if serializer.is_valid(): - serializer.save() else: serializer = VideoCreateSerializer(data=cdata) - if serializer.is_valid(): - serializer.save() + if serializer.is_valid(): + serializer.save() elif ctype == 'images': if 'id' in cdata and cdata['id']: g = Gallery.objects.get(id=cdata['id']) g.position = cdata['position'] g.title = cdata['title'] g.uuid = cdata['uuid'] - setattr(g, obj_type, obj) g.save() - if 'images' in cdata: - for image in cdata['gallery_images']: - if 'img' in image and image['img']: - if 'id' in image and image['id']: - gi = GalleryImage.objects.get(id=image['id']) - gi.img = ImageObject.objects.get(id=image['img']) - gi.save() - else: - gi = GalleryImage.objects.create( - gallery=g, - img=ImageObject.objects.get(id=image['img']) - ) else: g = Gallery( position=cdata['position'], title=cdata['title'], uuid=cdata['uuid'], ) - setattr(g, obj_type, obj) - g.save() - if 'images' in cdata: - for image in cdata['images']: - if 'img' in image and image['img']: - if 'id' in image and image['id']: - gi = GalleryImage.objects.get(id=image['id']) - gi.img = ImageObject.objects.get(id=image['img']) - gi.save() - else: - gi = GalleryImage.objects.create( - gallery=g, - img=ImageObject.objects.get(id=image['img']) - ) + setattr(g, obj_type, obj) + if 'gallery_images' in cdata: + for image in cdata['gallery_images']: + if 'img' in image and image['img']: + if 'id' in image and image['id']: + gi = GalleryImage.objects.get(id=image['id']) + gi.img = ImageObject.objects.get(id=image['img']) + gi.save() + else: + gi = GalleryImage.objects.create( + gallery=g, + img=ImageObject.objects.get(id=image['img']) + ) class DispatchMaterialMixin(object): diff --git a/web/src/components/blocks/BlockImages.vue b/web/src/components/blocks/BlockImages.vue index 5af22466..7fb8a004 100644 --- a/web/src/components/blocks/BlockImages.vue +++ b/web/src/components/blocks/BlockImages.vue @@ -23,7 +23,7 @@