44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
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(generic.ListView):
|
|
"""Affiche les contenus d'une catégorie."""
|
|
model = Content
|
|
context_object_name = "contents"
|
|
template_name = "content/content_list.html"
|
|
|
|
def get_queryset(self):
|
|
pk = self.kwargs['pk']
|
|
category = get_object_or_404(Category, pk=pk)
|
|
return Content.objects.filter(category=category)
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(generic.ListView, self).get_context_data(**kwargs)
|
|
pk = self.kwargs['pk']
|
|
category = get_object_or_404(Category, pk=pk)
|
|
context['category'] = category
|
|
return context
|
|
|
|
|
|
class CreateCategory(generic.CreateView):
|
|
"""Création de catégorie."""
|
|
model = Category
|
|
fields = '__all__'
|
|
|
|
|
|
class DeleteCategory(generic.DeleteView):
|
|
"""Suppression de catégorie"""
|
|
model = Category
|
|
success_url = reverse_lazy('settings:index')
|
|
template_name = "confirm_delete.html"
|
|
|
|
|
|
class EditCategory(generic.UpdateView):
|
|
"""Édition de catégorie."""
|
|
model = Category
|
|
fields = '__all__'
|
|
template_name = "edit.html"
|