]> git.0d.be Git - django-panik-emissions.git/commitdiff
check emission slug url part
authorFrédéric Péters <fpeters@0d.be>
Sun, 22 Mar 2020 15:25:29 +0000 (16:25 +0100)
committerFrédéric Péters <fpeters@0d.be>
Sun, 22 Mar 2020 15:25:29 +0000 (16:25 +0100)
emissions/views.py

index 9b430e4f5716541b591f67d215da07878cc9eeb6..de183ab29836bb969df6914fbb8700468264ba1c 100644 (file)
@@ -200,7 +200,12 @@ class EpisodeCreateView(CreateView):
         return self.object.get_absolute_url()
 
 
-class EpisodeDetailView(DetailView):
+class EmissionEpisodeMixin(object):
+    def get_queryset(self):
+        return self.model.objects.filter(emission__slug=self.kwargs['emission_slug'])
+
+
+class EpisodeDetailView(EmissionEpisodeMixin, DetailView):
     model = Episode
 
     def get_context_data(self, **kwargs):
@@ -216,7 +221,7 @@ class EpisodeDetailView(DetailView):
         return context
 
 
-class EpisodeUpdateView(UpdateView):
+class EpisodeUpdateView(EmissionEpisodeMixin, UpdateView):
     form_class = EpisodeForm
     model = Episode
 
@@ -230,7 +235,7 @@ class EpisodeUpdateView(UpdateView):
         return super(EpisodeUpdateView, self).get_success_url()
 
 
-class EpisodeDeleteView(DeleteView):
+class EpisodeDeleteView(EmissionEpisodeMixin, DeleteView):
     model = Episode
 
     def get_form(self, *args, **kwargs):
@@ -578,7 +583,7 @@ class EmissionCloseChatView(DetailView):
         return redirect(self.object.get_absolute_url())
 
 
-class EpisodeRegieView(DetailView):
+class EpisodeRegieView(EmissionEpisodeMixin, DetailView):
     model = Episode
     template_name = 'emissions/episode_regie.html'
 
@@ -628,6 +633,7 @@ class EpisodeRegieView(DetailView):
 
         return context
 
+
 class EpisodeRegieUpdateOrderView(View):
     def get(self, request, *args, **kwargs):
         new_order = request.GET.getlist('new-order[]')
@@ -667,7 +673,7 @@ class EpisodeRegieMarks(EpisodeRegieView):
         return JSONResponse(obj)
 
 
-class EpisodeStartView(RedirectView):
+class EpisodeStartView(EmissionEpisodeMixin, RedirectView):
     def get_redirect_url(self, emission_slug, slug):
         episode = Episode.objects.get(slug=slug, emission__slug=emission_slug)
         episode.effective_start = datetime.datetime.now()
@@ -677,7 +683,8 @@ class EpisodeStartView(RedirectView):
                 kwargs={'emission_slug': emission_slug,
                         'slug': slug})
 
-class EpisodeStopView(RedirectView):
+
+class EpisodeStopView(EmissionEpisodeMixin, RedirectView):
     def get_redirect_url(self, emission_slug, slug):
         episode = Episode.objects.get(slug=slug, emission__slug=emission_slug)
         episode.effective_end = datetime.datetime.now()