66from django .contrib import messages
77from django .core .urlresolvers import reverse
88from django .http import HttpResponse
9+ from django .http .response import Http404
910from django .shortcuts import render , get_object_or_404 , redirect
1011from django .utils .safestring import mark_safe
1112from django .utils .translation import ugettext_lazy as _
@@ -61,7 +62,9 @@ def get_login_url(self):
6162 return reverse ("speakers:sign-in" )
6263
6364 def get (self , request , presentation_id ):
64- presentation = get_object_or_404 (Presentation , pk = presentation_id , speaker = request .user .speaker_profile )
65+ presentation = get_object_or_404 (Presentation , pk = presentation_id )
66+ if request .user .speaker not in presentation .get_speakers ():
67+ raise Http404 ()
6568 form = PresentationForm (instance = presentation )
6669 data = {
6770 "presentation" : presentation ,
@@ -70,7 +73,9 @@ def get(self, request, presentation_id):
7073 return render (request , self .template_name , data )
7174
7275 def post (self , request , presentation_id ):
73- presentation = get_object_or_404 (Presentation , pk = presentation_id , speaker = request .user .speaker_profile )
76+ presentation = get_object_or_404 (Presentation , pk = presentation_id )
77+ if request .user .speaker not in presentation .get_speakers ():
78+ raise Http404 ()
7479 form = PresentationForm (request .POST , request .FILES , instance = presentation )
7580 data = {
7681 "presentation" : presentation ,
@@ -79,7 +84,7 @@ def post(self, request, presentation_id):
7984 if form .is_valid ():
8085 form .save ()
8186 messages .success (request , _ ("Datos actualizados correctamente" ))
82- return redirect (reverse ("speakers :edit" ))
87+ return redirect (reverse ("schedule :edit-presentation" , kwargs = { "presentation_id" : presentation_id } ))
8388 return render (request , self .template_name , data )
8489
8590
0 commit comments