From 234e27c4c11135d790dd5a07c68ba11345b8e14a Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Mon, 13 Sep 2021 21:13:43 +0200 Subject: [PATCH] recipe editor --- cookbook/views/api.py | 11 +- .../apps/RecipeEditView/RecipeEditView.vue | 125 ++++++++++++------ vue/src/locales/en.json | 3 +- 3 files changed, 91 insertions(+), 48 deletions(-) diff --git a/cookbook/views/api.py b/cookbook/views/api.py index 721882502..20bdd7a37 100644 --- a/cookbook/views/api.py +++ b/cookbook/views/api.py @@ -548,9 +548,7 @@ class RecipeViewSet(viewsets.ModelViewSet): if obj.get_space() != request.space: raise PermissionDenied(detail='You do not have the required permission to perform this action', code=403) - serializer = self.serializer_class( - obj, data=request.data, partial=True - ) + serializer = self.serializer_class(obj, data=request.data, partial=True) if self.request.space.demo: raise PermissionDenied(detail='Not available in demo', code=None) @@ -558,8 +556,11 @@ class RecipeViewSet(viewsets.ModelViewSet): if serializer.is_valid(): serializer.save() - img, filetype = handle_image(request, obj.image) - obj.image = File(img, name=f'{uuid.uuid4()}_{obj.pk}{filetype}') + if serializer.validated_data == {}: + obj.image = None + else: + img, filetype = handle_image(request, obj.image) + obj.image = File(img, name=f'{uuid.uuid4()}_{obj.pk}{filetype}') obj.save() return Response(serializer.data) diff --git a/vue/src/apps/RecipeEditView/RecipeEditView.vue b/vue/src/apps/RecipeEditView/RecipeEditView.vue index 1b681d4c9..fae66c2e9 100644 --- a/vue/src/apps/RecipeEditView/RecipeEditView.vue +++ b/vue/src/apps/RecipeEditView/RecipeEditView.vue @@ -1,6 +1,6 @@