diff --git a/cookbook/tables.py b/cookbook/tables.py
index e5862e3a..105eb439 100644
--- a/cookbook/tables.py
+++ b/cookbook/tables.py
@@ -1,5 +1,6 @@
import django_tables2 as tables
from django_tables2.utils import A # alias for Accessor
+from django.utils.translation import gettext as _
from .models import *
@@ -38,7 +39,7 @@ class KeywordTable(tables.Table):
class MonitoredPathTable(tables.Table):
- edit = tables.TemplateColumn("Löschen")
+ edit = tables.TemplateColumn("" + _('Delete') + "")
class Meta:
model = Keyword
diff --git a/cookbook/urls.py b/cookbook/urls.py
index 01d4dddb..b5c0b1d3 100644
--- a/cookbook/urls.py
+++ b/cookbook/urls.py
@@ -17,6 +17,10 @@ urlpatterns = [
path('edit/category//', edit.CategoryUpdate.as_view(), name='edit_category'),
path('edit/monitor//', edit.MonitorUpdate.as_view(), name='edit_monitor'),
+ path('delete/keyword//', edit.KeywordDelete.as_view(), name='delete_keyword'),
+ path('delete/category//', edit.CategoryDelete.as_view(), name='delete_category'),
+ path('delete/monitor//', edit.MonitorDelete.as_view(), name='delete_monitor'),
+
path('batch/import', batch.batch_import, name='batch_import'),
path('batch/category', batch.batch_edit, name='batch_edit'),
diff --git a/cookbook/views/edit.py b/cookbook/views/edit.py
index 7df5531a..789f7796 100644
--- a/cookbook/views/edit.py
+++ b/cookbook/views/edit.py
@@ -4,7 +4,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from django.shortcuts import redirect, render
from django.urls import reverse_lazy
from django.utils.translation import gettext as _
-from django.views.generic import UpdateView
+from django.views.generic import UpdateView, DeleteView
from cookbook.forms import EditRecipeForm
from cookbook.models import Recipe, Category, Monitor, Keyword
@@ -48,3 +48,22 @@ def recipe(request, recipe_id):
form = EditRecipeForm(instance=recipe_obj)
return render(request, 'edit/recipe.html', {'form': form})
+
+
+# Generic Delete views
+class MonitorDelete(LoginRequiredMixin, DeleteView):
+ template_name = "generic\delete_template.html"
+ model = Monitor
+ success_url = reverse_lazy('index')
+
+
+class CategoryDelete(LoginRequiredMixin, DeleteView):
+ template_name = "generic\delete_template.html"
+ model = Category
+ success_url = reverse_lazy('index')
+
+
+class KeywordDelete(LoginRequiredMixin, DeleteView):
+ template_name = "generic\delete_template.html"
+ model = Keyword
+ success_url = reverse_lazy('index')