[Checkins] SVN: z3c.form/branches/adamg-objectwidget/ - Feature: Allow raw request values of sequence widgets to be

Stephan Richter srichter at cosmos.phy.tufts.edu
Mon Nov 17 00:35:08 EST 2008


Log message for revision 93034:
  - Feature: Allow raw request values of sequence widgets to be 
    non-sequence values, which makes integration with Javascript libraries 
    easier.
  

Changed:
  U   z3c.form/branches/adamg-objectwidget/CHANGES.txt
  U   z3c.form/branches/adamg-objectwidget/src/z3c/form/widget.py
  U   z3c.form/branches/adamg-objectwidget/src/z3c/form/widget.txt

-=-
Modified: z3c.form/branches/adamg-objectwidget/CHANGES.txt
===================================================================
--- z3c.form/branches/adamg-objectwidget/CHANGES.txt	2008-11-17 03:42:20 UTC (rev 93033)
+++ z3c.form/branches/adamg-objectwidget/CHANGES.txt	2008-11-17 05:35:06 UTC (rev 93034)
@@ -5,6 +5,9 @@
 Version 2.0.0 (2008-??-??)
 --------------------------
 
+- Feature: Allow raw request values of sequence widgets to be non-sequence
+  values, which makes integration with Javascript libraries easier.
+
 - Feature: Added support in the file upload widget's testing flavor to specify
   'base64'-encoded strings in the hidden text area, so that binary data can be
   uploaded as well.

Modified: z3c.form/branches/adamg-objectwidget/src/z3c/form/widget.py
===================================================================
--- z3c.form/branches/adamg-objectwidget/src/z3c/form/widget.py	2008-11-17 03:42:20 UTC (rev 93033)
+++ z3c.form/branches/adamg-objectwidget/src/z3c/form/widget.py	2008-11-17 05:35:06 UTC (rev 93034)
@@ -204,6 +204,8 @@
             return []
         value = self.request.get(self.name, default)
         if value != default:
+            if not isinstance(value, (tuple, list)):
+                value = (value,)
             # do some kind of validation, at least only use existing values
             for token in value:
                 if token == self.noValueToken:

Modified: z3c.form/branches/adamg-objectwidget/src/z3c/form/widget.txt
===================================================================
--- z3c.form/branches/adamg-objectwidget/src/z3c/form/widget.txt	2008-11-17 03:42:20 UTC (rev 93033)
+++ z3c.form/branches/adamg-objectwidget/src/z3c/form/widget.txt	2008-11-17 05:35:06 UTC (rev 93034)
@@ -447,6 +447,15 @@
   >>> seqWidget.extract()
   []
 
+Note that we also support single values being returned outside a sequence. The
+extracted value is then wrapped by a tuple. This feature is useful when
+integrating with third-party client frameworks that do not know about the Zope
+naming conventions.
+
+  >>> seqWidget.request = TestRequest(form={'seq': 'v1'})
+  >>> seqWidget.extract()
+  ('v1',)
+
 If the no-value token has been selected, it is returned without further
 verification:
 



More information about the Checkins mailing list