diff --git a/moku/forms/recipe.py b/moku/forms/recipe.py
index 191f80e..5b292a5 100644
--- a/moku/forms/recipe.py
+++ b/moku/forms/recipe.py
@@ -1,9 +1,13 @@
-from django.forms import ModelForm
+from django.forms import Form, ModelForm
from django.utils.translation import gettext_lazy as _
from moku.models.recipe import Recipe, RecipeStep
+class DeleteRecipeForm(Form):
+ pass
+
+
class RecipeForm(ModelForm):
"""Form for creating and updating recipes."""
diff --git a/moku/static/css/moku.css b/moku/static/css/moku.css
index 7c1b799..50d0583 100644
--- a/moku/static/css/moku.css
+++ b/moku/static/css/moku.css
@@ -46,6 +46,14 @@ body {
margin-block-end: 1.6rem;
}
+.mx {
+ margin-inline: 1.2rem;
+}
+
+.my {
+ margin-block: 1.6rem;
+}
+
.small {
font-size: 1.4rem;
}
diff --git a/moku/templates/moku/delete.jinja b/moku/templates/moku/delete.jinja
new file mode 100644
index 0000000..476cf81
--- /dev/null
+++ b/moku/templates/moku/delete.jinja
@@ -0,0 +1,14 @@
+{% extends "moku/base.jinja" %}
+
+{% block content %}
+
+
{% trans %}deleting {{ item }}{% endtrans %}
+
{% trans %}are you sure you want to delete {{ item }}?{% endtrans %}
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/moku/views/recipe.py b/moku/views/recipe.py
index b7cdcde..feb5dd1 100644
--- a/moku/views/recipe.py
+++ b/moku/views/recipe.py
@@ -1,23 +1,34 @@
from django.contrib import messages
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from django.shortcuts import get_object_or_404, redirect
+from django.urls import reverse
from django.utils.functional import cached_property
from django.utils.translation import gettext as _
from django.utils.translation import gettext_lazy
-from moku.forms.recipe import RecipeForm, RecipeStepForm
+from moku.forms.recipe import DeleteRecipeForm, RecipeForm, RecipeStepForm
from moku.models.recipe import Recipe, RecipeStep
from moku.views.base import FormView, View
-class DeleteRecipeView(LoginRequiredMixin, UserPassesTestMixin, View):
+class DeleteRecipeView(LoginRequiredMixin, UserPassesTestMixin, FormView):
"""Deletes a recipe from the database if it belongs to the authenticated user."""
- def get(self, request, *args, **kwargs):
+ template_name = "moku/delete.jinja"
+ form_class = DeleteRecipeForm
+
+ def form_valid(self, form):
self.recipe.delete()
messages.success(self.request, _("recipe deleted successfully!"))
return redirect("recipe.index")
+ def get_context_data(self, **kwargs):
+ return {
+ **super().get_context_data(**kwargs),
+ "item": self.recipe.title,
+ "back_url": reverse("recipe.show", kwargs={"uuid": self.recipe.uuid}),
+ }
+
@cached_property
def recipe(self):
return get_object_or_404(Recipe, uuid=self.kwargs.get("uuid"))