forked from rc/aircox
		
	aircox/views/episode: when creating an episode redirect to edit view
This commit is contained in:
		@ -1,7 +1,8 @@
 | 
				
			|||||||
from django.contrib.auth.mixins import UserPassesTestMixin
 | 
					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.urls import reverse
 | 
				
			||||||
from django.utils.translation import gettext_lazy as _
 | 
					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.models import Episode, Program, StaticPage, Track
 | 
				
			||||||
from aircox import forms, filters, permissions
 | 
					from aircox import forms, filters, permissions
 | 
				
			||||||
@ -144,7 +145,14 @@ class EpisodeUpdateView(UserPassesTestMixin, VueFormDataMixin, PageUpdateView):
 | 
				
			|||||||
        return resp
 | 
					        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):
 | 
					    def get_object(self):
 | 
				
			||||||
        program = get_object_or_404(Program, pk=self.kwargs["pk"])
 | 
					        return get_object_or_404(Program, pk=self.kwargs["pk"])
 | 
				
			||||||
        return Episode.objects.create(program=program, title="%s (%s)" % (program.title, _("draft")))
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user