added validation rule to NewsBackOfficeGallerySerializer

This commit is contained in:
Anatoly 2019-10-23 17:50:08 +03:00
parent 1e3c80ad0c
commit a8001c44b1

View File

@ -282,6 +282,7 @@ class NewsBackOfficeGallerySerializer(serializers.ModelSerializer):
"""Override validate method."""
news_pk = self.get_request_kwargs().get('pk')
image_id = self.get_request_kwargs().get('image_id')
is_main = attrs.get('is_main')
news_qs = models.News.objects.filter(pk=news_pk)
image_qs = Image.objects.filter(id=image_id)
@ -297,6 +298,9 @@ class NewsBackOfficeGallerySerializer(serializers.ModelSerializer):
if news.news_gallery.filter(image=image).exists():
raise serializers.ValidationError({'detail': _('Image is already added')})
if is_main and news.news_gallery.main_images().exists():
raise serializers.ValidationError({'detail': _('Main image is already added')})
attrs['news'] = news
attrs['image'] = image