@@ -176,6 +176,32 @@ def process_preview(self, request, form, context):
176176 self .state .update ({'members_info' : members_info ,
177177 'emails_not_found' : emails_not_found })
178178
179+ def preview_post (self , request ):
180+ "Validates the POST data. If valid, displays the preview page. Else, redisplays form."
181+ f = self .form (request .POST , auto_id = AUTO_ID )
182+ context = {'form' : f , 'stage_field' : self .unused_name ('stage' ), 'state' : self .state ,
183+ 'year' : self .year }
184+ if f .is_valid ():
185+ self .process_preview (request , f , context )
186+ context ['hash_field' ] = self .unused_name ('hash' )
187+ context ['hash_value' ] = self .security_hash (request , f )
188+ return render_to_response (self .preview_template , context , context_instance = RequestContext (request ))
189+ else :
190+ return render_to_response (self .form_template , context , context_instance = RequestContext (request ))
191+
192+ def post_post (self , request ):
193+ "Validates the POST data. If valid, calls done(). Else, redisplays form."
194+ f = self .form (request .POST , auto_id = AUTO_ID )
195+ if f .is_valid ():
196+ if self .security_hash (request , f ) != request .POST .get (self .unused_name ('hash' )):
197+ return self .failed_hash (request ) # Security hash failed.
198+ return self .done (request , f .cleaned_data )
199+ else :
200+ return render_to_response (self .form_template ,
201+ {'form' : f , 'stage_field' : self .unused_name ('stage' ), 'state' : self .state ,
202+ 'year' : self .year },
203+ context_instance = RequestContext (request ))
204+
179205 def done (self , request , cleaned_data ):
180206 members_info = self .state ['members_info' ]
181207 members_email = [member ['email' ] for member in self .state ['members_info' ]]
0 commit comments