web/formwidgets.py
branchstable
changeset 4660 21ed77792c33
parent 4658 25de2eb0432b
child 4846 a2fb82770fa6
--- a/web/formwidgets.py	Tue Feb 23 12:46:56 2010 +0100
+++ b/web/formwidgets.py	Tue Feb 23 12:49:37 2010 +0100
@@ -59,21 +59,6 @@
     def _render(self, form, field, renderer):
         raise NotImplementedError()
 
-    def typed_value(self, form, field):
-        """return field's *typed* value specified in:
-        3. extra form values given to render()
-        4. field's typed value
-        """
-        qname = field.input_name(form)
-        for key in (field, qname):
-            try:
-                return form.formvalues[key]
-            except KeyError:
-                continue
-        if field.name != qname and field.name in form.formvalues:
-            return form.formvalues[field.name]
-        return field.typed_value(form)
-
     def format_value(self, form, field, value):
         return field.format_value(form._cw, value)
 
@@ -118,6 +103,21 @@
             values = (values,)
         return values
 
+    def typed_value(self, form, field):
+        """return field's *typed* value specified in:
+        3. extra form values given to render()
+        4. field's typed value
+        """
+        qname = field.input_name(form)
+        for key in ((field, form), qname):
+            try:
+                return form.formvalues[key]
+            except KeyError:
+                continue
+        if field.name != qname and field.name in form.formvalues:
+            return form.formvalues[field.name]
+        return field.typed_value(form)
+
     def process_field_data(self, form, field):
         posted = form._cw.form
         val = posted.get(field.input_name(form, self.suffix))