[Checkins] SVN: z3c.formui/trunk/ Don't render add forms when redirecting.
Dan Korostelev
nadako at gmail.com
Thu Aug 20 07:38:10 EDT 2009
Log message for revision 103001:
Don't render add forms when redirecting.
Changed:
U z3c.formui/trunk/CHANGES.txt
U z3c.formui/trunk/src/z3c/formui/README.txt
U z3c.formui/trunk/src/z3c/formui/layout.py
-=-
Modified: z3c.formui/trunk/CHANGES.txt
===================================================================
--- z3c.formui/trunk/CHANGES.txt 2009-08-20 11:30:35 UTC (rev 103000)
+++ z3c.formui/trunk/CHANGES.txt 2009-08-20 11:38:09 UTC (rev 103001)
@@ -5,8 +5,10 @@
2.1.0 (unreleased)
------------------
-- Don't show required info hint if there's no required fields.
+- Feature: Don't show required info hint if there's no required fields.
+- Bug: Don't render add forms when redirecting as well.
+
2.0.0 (2009-06-14)
------------------
Modified: z3c.formui/trunk/src/z3c/formui/README.txt
===================================================================
--- z3c.formui/trunk/src/z3c/formui/README.txt 2009-08-20 11:30:35 UTC (rev 103000)
+++ z3c.formui/trunk/src/z3c/formui/README.txt 2009-08-20 11:38:09 UTC (rev 103001)
@@ -867,6 +867,16 @@
>>> '<div class="viewspace">' in redirectView.render()
True
+The same thing should work for AddForms:
+
+ >>> class RedirectingAddView(PersonAddForm):
+ ... def update(self):
+ ... super(RedirectingAddView, self).update()
+ ... self.request.response.redirect('http://www.google.com/')
+ >>> redirectView = RedirectingAddView(person, divRequest)
+ >>> redirectView() == ''
+ True
+
No required fields
------------------
Modified: z3c.formui/trunk/src/z3c/formui/layout.py
===================================================================
--- z3c.formui/trunk/src/z3c/formui/layout.py 2009-08-20 11:30:35 UTC (rev 103000)
+++ z3c.formui/trunk/src/z3c/formui/layout.py 2009-08-20 11:38:09 UTC (rev 103001)
@@ -58,6 +58,10 @@
self.request.response.redirect(self.nextURL())
return ''
+ if self.request.response.getStatus() in REDIRECT_STATUS_CODES:
+ # don't bother rendering when redirecting
+ return ''
+
if self.layout is None:
layout = zope.component.queryMultiAdapter(
(self, self.request, self.context),
More information about the Checkins
mailing list