diff --git a/content/urls.py b/content/urls.py index f25f420..f12c853 100644 --- a/content/urls.py +++ b/content/urls.py @@ -3,6 +3,7 @@ from django.urls import path from .views import ( ContentCategoryList, CreateCategory, + DeleteCategory, ) app_name = 'content' @@ -12,6 +13,11 @@ urlpatterns = [ ContentCategoryList.as_view(), name='category-list' ), + path( + 'category/delete/', + DeleteCategory.as_view(), + name='category-delete' + ), path( 'category/new/', CreateCategory.as_view(), diff --git a/content/views.py b/content/views.py index 980720d..a8d114c 100644 --- a/content/views.py +++ b/content/views.py @@ -1,10 +1,11 @@ -from django.views.generic import ListView, CreateView +from django.views import generic +from django.urls import reverse, reverse_lazy from django.shortcuts import get_object_or_404 from .models import Content, Category -class ContentCategoryList(ListView): +class ContentCategoryList(generic.ListView): """Affiche les contenus d'une catégorie.""" model = Content context_object_name = "contents" @@ -16,12 +17,17 @@ class ContentCategoryList(ListView): return Content.objects.filter(category=category) def get_context_data(self, **kwargs): - context = super(ListView, self).get_context_data(**kwargs) + context = super(generic.ListView, self).get_context_data(**kwargs) category_id = self.kwargs['category_id'] category = get_object_or_404(Category, id=category_id) context['category'] = category return context -class CreateCategory(CreateView): +class CreateCategory(generic.CreateView): model = Category fields = '__all__' + +class DeleteCategory(generic.DeleteView): + model = Category + success_url = reverse_lazy('settings:index') + template_name = "confirm_delete.html" diff --git a/settings/templates/settings/settings.html b/settings/templates/settings/settings.html index 89fe77a..9097390 100644 --- a/settings/templates/settings/settings.html +++ b/settings/templates/settings/settings.html @@ -20,7 +20,7 @@ Éditer - + diff --git a/templates/confirm_delete.html b/templates/confirm_delete.html new file mode 100644 index 0000000..524de5b --- /dev/null +++ b/templates/confirm_delete.html @@ -0,0 +1,7 @@ +{% extends 'base.html' %} +{% block content %} +
{% csrf_token %} +

Êtes-vous certain de vouloir supprimer "{{ object }}"?

+ +
+{% endblock %}