templates: set document type to html, prevent quicks mode

This commit is contained in:
2023-12-01 14:32:12 +01:00
parent 10b9e9280f
commit d33256edb8
8 changed files with 121 additions and 14 deletions

View File

@ -1,14 +1,20 @@
from django.shortcuts import reverse
from django.contrib.auth.mixins import UserPassesTestMixin
from django.urls import reverse
from aircox.forms import EpisodeForm
from ..filters import EpisodeFilters
from ..models import Episode, Program, StaticPage
from .page import PageListView
from .program import ProgramPageDetailView
from .program import ProgramPageDetailView, BaseProgramMixin
from .page import PageUpdateView
__all__ = (
"EpisodeDetailView",
"EpisodeListView",
"PodcastListView",
"EpisodeUpdateView",
)
@ -39,3 +45,18 @@ class EpisodeListView(PageListView):
class PodcastListView(EpisodeListView):
attach_to_value = StaticPage.Target.PODCASTS
queryset = Episode.objects.published().with_podcasts().order_by("-pub_date")
class EpisodeUpdateView(UserPassesTestMixin, BaseProgramMixin, PageUpdateView):
model = Episode
form_class = EpisodeForm
def get_sidebar_queryset(self):
return super().get_sidebar_queryset().filter(parent=self.program)
def test_func(self):
program = self.get_object().program
return self.request.user.has_perm("aircox.%s" % program.change_permission_codename)
def get_success_url(self):
return reverse("episode-detail", kwargs={"slug": self.get_object().slug})