misc: enable adding new episodes

This commit is contained in:
2024-11-07 08:09:13 +01:00
parent 2a594821bb
commit fe424e9d9d
3 changed files with 14 additions and 0 deletions

View File

@ -1,5 +1,7 @@
from django.contrib.auth.mixins import UserPassesTestMixin
from django.shortcuts import get_object_or_404
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from aircox.models import Episode, Program, StaticPage, Track
from aircox import forms, filters, permissions
@ -12,6 +14,7 @@ __all__ = (
"EpisodeDetailView",
"EpisodeListView",
"PodcastListView",
"EpisodeCreateView",
"EpisodeUpdateView",
)
@ -139,3 +142,9 @@ class EpisodeUpdateView(UserPassesTestMixin, VueFormDataMixin, PageUpdateView):
if invalid:
return self.get(request, **formsets)
return resp
class EpisodeCreateView(EpisodeUpdateView):
def get_object(self):
program = get_object_or_404(Program, pk=self.kwargs["pk"])
return Episode.objects.create(program=program, title="%s (%s)" % (program.title, _("draft")))