[Checkins] SVN: Zope3/trunk/ #98111: (reopened)
z.a.form.browser.itemswidget.MultiDataHelper._toFieldValue()
fix for empty values
Leonardo Rochael Almeida
leo at hiper.com.br
Mon Apr 30 23:43:11 EDT 2007
Log message for revision 74952:
#98111: (reopened) z.a.form.browser.itemswidget.MultiDataHelper._toFieldValue() fix for empty values
Changed:
U Zope3/trunk/doc/CHANGES.txt
U Zope3/trunk/src/zope/app/form/browser/itemswidgets.py
U Zope3/trunk/src/zope/app/form/browser/tests/test_itemswidget.py
-=-
Modified: Zope3/trunk/doc/CHANGES.txt
===================================================================
--- Zope3/trunk/doc/CHANGES.txt 2007-05-01 03:42:59 UTC (rev 74951)
+++ Zope3/trunk/doc/CHANGES.txt 2007-05-01 03:43:10 UTC (rev 74952)
@@ -18,6 +18,10 @@
Bugs fixed
+ - #98111: z.a.form.browser.itemswidget.MultiDataHelper._toFieldValue()
+ context._type attribute was being ignored when the result was an empty
+ collection.
+
- Made zope.app.publication use the component architecture to look up
the global authentication utility.
Modified: Zope3/trunk/src/zope/app/form/browser/itemswidgets.py
===================================================================
--- Zope3/trunk/src/zope/app/form/browser/itemswidgets.py 2007-05-01 03:42:59 UTC (rev 74951)
+++ Zope3/trunk/src/zope/app/form/browser/itemswidgets.py 2007-05-01 03:43:10 UTC (rev 74952)
@@ -189,8 +189,8 @@
def _toFieldValue(self, input):
"""See SimpleInputWidget"""
if input is None:
- return []
- if not isinstance(input, list):
+ input = []
+ elif not isinstance(input, list):
input = [input]
try:
values = self.convertTokensToValues(input)
Modified: Zope3/trunk/src/zope/app/form/browser/tests/test_itemswidget.py
===================================================================
--- Zope3/trunk/src/zope/app/form/browser/tests/test_itemswidget.py 2007-05-01 03:42:59 UTC (rev 74951)
+++ Zope3/trunk/src/zope/app/form/browser/tests/test_itemswidget.py 2007-05-01 03:43:10 UTC (rev 74952)
@@ -460,11 +460,19 @@
self.assertEqual(widget.getInputValue(), ['two', 'three'])
self._field = ICollector.get('letters')
+ widget = self._makeWidget(form={'field.letters-empty-marker': '1'})
+ widget.setPrefix('field.')
+ self.assertEqual(widget.getInputValue(), sets.Set())
widget = self._makeWidget(form={'field.letters': ['token2', 'token3']})
widget.setPrefix('field.')
self.assertEqual(widget.getInputValue(), sets.Set(['two', 'three']))
self._field = ICollector.get('frozenLetters')
+ widget = self._makeWidget(form={'field.frozenLetters-empty-marker':
+ '1'})
+ widget.setPrefix('field.')
+ field_value = widget.getInputValue()
+ self.assertEqual(field_value, frozenset())
widget = self._makeWidget(form={'field.frozenLetters':
['token2', 'token3']})
widget.setPrefix('field.')
More information about the Checkins
mailing list