Merge branch 'feature/recipe-edit-vue' into develop

# Conflicts:
#	vue/vue.config.js
#	vue/webpack-stats.json
This commit is contained in:
vabene1111
2021-09-13 21:14:45 +02:00
9 changed files with 954 additions and 60 deletions

View File

@@ -0,0 +1,38 @@
{% extends "base.html" %}
{% load render_bundle from webpack_loader %}
{% load static %}
{% load i18n %}
{% load l10n %}
{% block title %}{% trans 'Edit Recipe' %}{% endblock %}
{% block extra_head %}
{% endblock %}
{% block content %}
<div id="app">
<edit-internal-recipe></edit-internal-recipe>
</div>
{% endblock %}
{% block script %}
{% if debug %}
<script src="{% url 'js_reverse' %}"></script>
{% else %}
<script src="{% static 'django_js_reverse/reverse.js' %}"></script>
{% endif %}
<script type="application/javascript">
window.CUSTOM_LOCALE = '{{ request.LANGUAGE_CODE }}'
window.RECIPE_ID = {{ recipe.pk }}
</script>
{% render_bundle 'edit_internal_recipe' %}
{% endblock %}

View File

@@ -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)

View File

@@ -57,7 +57,7 @@ def internal_recipe_update(request, pk):
recipe_instance = get_object_or_404(Recipe, pk=pk, space=request.space)
return render(
request, 'forms/edit_internal_recipe.html', {'recipe': recipe_instance}
request, 'edit_internal_recipe_v2.html', {'recipe': recipe_instance}
)