site_tps/content/views.py

45 lines
1.2 KiB
Python
Raw Normal View History

2018-01-30 21:47:47 +00:00
from django.views import generic
from django.urls import reverse, reverse_lazy
2018-01-24 10:33:05 +00:00
from django.shortcuts import get_object_or_404
2018-01-14 12:19:11 +00:00
2018-01-24 10:33:05 +00:00
from .models import Content, Category
2018-01-30 21:47:47 +00:00
class ContentCategoryList(generic.ListView):
2018-01-24 10:33:05 +00:00
"""Affiche les contenus d'une catégorie."""
model = Content
context_object_name = "contents"
template_name = "content/content_list.html"
def get_queryset(self):
2018-01-30 22:07:08 +00:00
pk = self.kwargs['pk']
category = get_object_or_404(Category, pk=pk)
2018-01-24 10:33:05 +00:00
return Content.objects.filter(category=category)
def get_context_data(self, **kwargs):
2018-01-30 21:47:47 +00:00
context = super(generic.ListView, self).get_context_data(**kwargs)
2018-01-30 22:07:08 +00:00
pk = self.kwargs['pk']
category = get_object_or_404(Category, pk=pk)
2018-01-24 10:33:05 +00:00
context['category'] = category
return context
2018-01-30 22:04:06 +00:00
2018-01-30 21:47:47 +00:00
class CreateCategory(generic.CreateView):
2018-01-30 22:04:06 +00:00
"""Création de catégorie."""
model = Category
fields = '__all__'
2018-01-30 21:47:47 +00:00
2018-01-30 22:04:06 +00:00
2018-01-30 21:47:47 +00:00
class DeleteCategory(generic.DeleteView):
2018-01-30 22:04:06 +00:00
"""Suppression de catégorie"""
2018-01-30 21:47:47 +00:00
model = Category
success_url = reverse_lazy('settings:index')
template_name = "confirm_delete.html"
2018-01-30 22:04:06 +00:00
class EditCategory(generic.UpdateView):
"""Édition de catégorie."""
model = Category
fields = '__all__'
template_name = "edit.html"