forked from rc/aircox
Compare commits
1 Commits
529ed25d7f
...
6ca8e7e4cc
Author | SHA1 | Date | |
---|---|---|---|
6ca8e7e4cc |
|
@ -1,7 +1,8 @@
|
|||
from django.contrib.auth.mixins import UserPassesTestMixin
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.shortcuts import get_object_or_404, redirect
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.generic.base import View
|
||||
|
||||
from aircox.models import Episode, Program, StaticPage, Track
|
||||
from aircox import forms, filters, permissions
|
||||
|
@ -144,7 +145,14 @@ class EpisodeUpdateView(UserPassesTestMixin, VueFormDataMixin, PageUpdateView):
|
|||
return resp
|
||||
|
||||
|
||||
class EpisodeCreateView(EpisodeUpdateView):
|
||||
class EpisodeCreateView(UserPassesTestMixin, View):
|
||||
def get(self, request, **kwargs):
|
||||
program = self.get_object()
|
||||
episode = Episode.objects.create(program=program, title="%s (%s)" % (program.title, _("draft")))
|
||||
return redirect(reverse("episode-edit", kwargs={"pk": episode.pk}))
|
||||
|
||||
def test_func(self):
|
||||
return permissions.program.can(self.request.user, "update", self.get_object())
|
||||
|
||||
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")))
|
||||
return get_object_or_404(Program, pk=self.kwargs["pk"])
|
||||
|
|
Loading…
Reference in New Issue
Block a user