[Checkins] SVN: Products.DCWorkflow/trunk/Products/DCWorkflow/ Don't crash worklist's 'manage_main' if variables are Expression objects.
Tres Seaver
tseaver at palladion.com
Tue Mar 8 16:06:20 EST 2011
Log message for revision 120813:
Don't crash worklist's 'manage_main' if variables are Expression objects.
Fixes https://bugs.launchpad.net/zope-cmf/+bug/731394
Index: Products/DCWorkflow/CHANGES.txt
===================================================================
--- Products/DCWorkflow/CHANGES.txt (revision 120812)
+++ Products/DCWorkflow/CHANGES.txt (working copy)
@@ -4,6 +4,9 @@
2.3.0-alpha (unreleased)
------------------------
+
- Require at least Zope 2.13.4.
- StateChangeInfo: Removed support for deprecated '_isPortalRoot' marker.
Changed:
U Products.DCWorkflow/trunk/Products/DCWorkflow/CHANGES.txt
U Products.DCWorkflow/trunk/Products/DCWorkflow/dtml/worklists.dtml
U Products.DCWorkflow/trunk/Products/DCWorkflow/tests/test_DCWorkflow.py
-=-
Modified: Products.DCWorkflow/trunk/Products/DCWorkflow/CHANGES.txt
===================================================================
--- Products.DCWorkflow/trunk/Products/DCWorkflow/CHANGES.txt 2011-03-08 17:18:04 UTC (rev 120812)
+++ Products.DCWorkflow/trunk/Products/DCWorkflow/CHANGES.txt 2011-03-08 21:06:19 UTC (rev 120813)
@@ -4,6 +4,9 @@
2.3.0-alpha (unreleased)
------------------------
+- Don't crash worklist's ``manage_main`` if variables are Expression objects.
+ (https://bugs.launchpad.net/zope-cmf/+bug/731394)
+
- Require at least Zope 2.13.4.
- StateChangeInfo: Removed support for deprecated '_isPortalRoot' marker.
Modified: Products.DCWorkflow/trunk/Products/DCWorkflow/dtml/worklists.dtml
===================================================================
--- Products.DCWorkflow/trunk/Products/DCWorkflow/dtml/worklists.dtml 2011-03-08 17:18:04 UTC (rev 120812)
+++ Products.DCWorkflow/trunk/Products/DCWorkflow/dtml/worklists.dtml 2011-03-08 21:06:19 UTC (rev 120813)
@@ -21,12 +21,8 @@
<dtml-if getVarMatchKeys>
Catalog matches:
<dtml-in getVarMatchKeys sort>
- <dtml-let key=sequence-item value="getVarMatch(key)">
- <code>&dtml-key;</code> =
- <dtml-in value>
- <code>&dtml-sequence-item;</code>
- <dtml-unless sequence-end>or</dtml-unless>
- </dtml-in>
+ <dtml-let key=sequence-item value="getVarMatchText(key)">
+ <code>&dtml-key;</code> = <code>&dtml-value;</code>
<dtml-unless sequence-end>;</dtml-unless>
</dtml-let>
</dtml-in>
Modified: Products.DCWorkflow/trunk/Products/DCWorkflow/tests/test_DCWorkflow.py
===================================================================
--- Products.DCWorkflow/trunk/Products/DCWorkflow/tests/test_DCWorkflow.py 2011-03-08 17:18:04 UTC (rev 120812)
+++ Products.DCWorkflow/trunk/Products/DCWorkflow/tests/test_DCWorkflow.py 2011-03-08 21:06:19 UTC (rev 120813)
@@ -38,8 +38,8 @@
def setUp(self):
SecurityTest.setUp(self)
- self.site = DummySite('site')
- self.root._setObject( 'site', self.site )
+ self.root._setObject('site', DummySite('site') )
+ self.site = self.root._getOb('site')
self.site._setObject( 'portal_types', DummyTool() )
self.site._setObject( 'portal_workflow', WorkflowTool() )
self._constructDummyWorkflow()
@@ -204,7 +204,19 @@
self.assertNotEquals(None,
wf.worklists._getOb('published_documents_new', None))
+ def test_worklists(self):
+ wftool = self.root.site.portal_workflow
+ wf = self._getDummyWorkflow()
+ worklist = wf.worklists._getOb('published_documents')
+ # check ZMI
+ wf.worklists.manage_main(self.REQUEST)
+ # store an Expression
+ worklist.setProperties('', props={'var_match_state': 'string:private'})
+ # check ZMI
+ wf.worklists.manage_main(self.app.REQUEST)
+
+
# XXX more tests...
More information about the checkins
mailing list