class EditableFormPreview(FormPreview): reedit_action= [u'ReEdit',] def post_post(self, request): "Validates the POST data. If valid, calls done(). Else, redisplays form." f = self.form(request.POST, auto_id=AUTO_ID) reedit = False if request.POST.has_key('action') and request.POST['action'] in self.reedit_action: reedit = True if f.is_valid() and reedit == False: if self.security_hash(request, f) != request.POST.get(self.unused_name('hash')): return self.failed_hash(request) # Security hash failed. return self.done(request, f.cleaned_data) else: return render_to_response(self.form_template, {'form': f, 'stage_field': self.unused_name('stage'), 'state': self.state}, context_instance=RequestContext(request))