From f30a893faec62edef541ffbfa97ffeb2cf7a9655 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Fri, 7 Feb 2020 16:41:19 +0300 Subject: [PATCH] establishment vintage year and delete media --- apps/establishment/serializers/back.py | 2 ++ apps/gallery/views.py | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/establishment/serializers/back.py b/apps/establishment/serializers/back.py index 1369fa00..2cca450c 100644 --- a/apps/establishment/serializers/back.py +++ b/apps/establishment/serializers/back.py @@ -102,6 +102,7 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria artisan_category = TagBaseSerializer(read_only=True, many=True, allow_null=True) distillery_type = TagBaseSerializer(read_only=True, many=True, allow_null=True) food_producer = TagBaseSerializer(read_only=True, many=True, allow_null=True) + vintage_year = serializers.IntegerField(read_only=True, allow_null=True) class Meta(model_serializers.EstablishmentBaseSerializer.Meta): fields = [ @@ -142,6 +143,7 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria 'distillery_type', 'food_producer', 'reviews', + 'vintage_year', ] def to_representation(self, instance): diff --git a/apps/gallery/views.py b/apps/gallery/views.py index c2408e0a..80b89cea 100644 --- a/apps/gallery/views.py +++ b/apps/gallery/views.py @@ -35,12 +35,21 @@ class MediaForEstablishmentView(ImageBaseView, generics.ListCreateAPIView): .order_by('-order').prefetch_related('created_by', 'establishment_gallery') -class MediaUpdateView(ImageBaseView, generics.UpdateAPIView): +class MediaUpdateView(ImageBaseView, generics.UpdateAPIView, generics.DestroyAPIView): """View for updating media data""" serializer_class = serializers.EstablishmentGallerySerializer # permission_classes = (IsCountryAdmin, IsEstablishmentAdministrator, IsEstablishmentManager, IsProducerFoodInspector) permission_classes = (AllowAny, ) + def delete(self, request, *args, **kwargs): + """Override destroy view""" + instance = self.get_object() + if settings.USE_CELERY: + on_commit(lambda: tasks.delete_image.delay(image_id=instance.id)) + else: + on_commit(lambda: tasks.delete_image(image_id=instance.id)) + return Response(status=status.HTTP_204_NO_CONTENT) + class ImageRetrieveDestroyView(ImageBaseView, generics.RetrieveDestroyAPIView): """Destroy view for model Image"""