[Checkins] SVN: Zope3/branches/3.2/ #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:42:47 EDT 2007
Log message for revision 74950:
#98111: (reopened) z.a.form.browser.itemswidget.MultiDataHelper._toFieldValue() fix for empty values
Changed:
U Zope3/branches/3.2/doc/CHANGES.txt
U Zope3/branches/3.2/src/zope/app/form/browser/itemswidgets.py
U Zope3/branches/3.2/src/zope/app/form/browser/tests/test_itemswidget.py
-=-
Modified: Zope3/branches/3.2/doc/CHANGES.txt
===================================================================
--- Zope3/branches/3.2/doc/CHANGES.txt 2007-05-01 02:38:09 UTC (rev 74949)
+++ Zope3/branches/3.2/doc/CHANGES.txt 2007-05-01 03:42:46 UTC (rev 74950)
@@ -10,6 +10,10 @@
Bug fixes
+ - #98111: z.a.form.browser.itemswidget.MultiDataHelper._toFieldValue()
+ context._type attribute was being ignored when the result was an empty
+ collection.
+
- #99408: zope.app.component.vocabulary.UtilityNames.getTermByToken was
broken
Modified: Zope3/branches/3.2/src/zope/app/form/browser/itemswidgets.py
===================================================================
--- Zope3/branches/3.2/src/zope/app/form/browser/itemswidgets.py 2007-05-01 02:38:09 UTC (rev 74949)
+++ Zope3/branches/3.2/src/zope/app/form/browser/itemswidgets.py 2007-05-01 03:42:46 UTC (rev 74950)
@@ -190,8 +190,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/branches/3.2/src/zope/app/form/browser/tests/test_itemswidget.py
===================================================================
--- Zope3/branches/3.2/src/zope/app/form/browser/tests/test_itemswidget.py 2007-05-01 02:38:09 UTC (rev 74949)
+++ Zope3/branches/3.2/src/zope/app/form/browser/tests/test_itemswidget.py 2007-05-01 03:42:46 UTC (rev 74950)
@@ -454,6 +454,9 @@
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']))
More information about the Checkins
mailing list