web/views/forms.py
branchstable
changeset 3922 69020a7c234a
parent 3880 88fc53eb5b5f
child 3923 be05eeeb2db1
--- a/web/views/forms.py	Fri Nov 27 09:10:40 2009 +0100
+++ b/web/views/forms.py	Fri Nov 27 09:14:31 2009 +0100
@@ -276,6 +276,19 @@
         if msg:
             self.form_add_hidden('__message', msg)
 
+    def session_key(self):
+        """return the key that may be used to store / retreive data about a
+        previous post which failed because of a validation error
+        """
+        try:
+            return self.force_session_key
+        except AttributeError:
+            # XXX if this is a json request, suppose we should redirect to the
+            # entity primary view
+            if self.req.json_request:
+                return '%s#%s' % (self.edited_entity.absolute_url(), self.domid)
+            return '%s#%s' % (self.req.url(), self.domid)
+
     def _field_has_error(self, field):
         """return true if the field has some error in given validation exception
         """