[Checkins] SVN: plone.z3cform/trunk/plone/z3cform/traversal.py Fix widget traverser for groups

Martin Aspeli optilude at gmx.net
Fri Feb 27 09:18:31 EST 2009


Log message for revision 97350:
  Fix widget traverser for groups

Changed:
  U   plone.z3cform/trunk/plone/z3cform/traversal.py

-=-
Modified: plone.z3cform/trunk/plone/z3cform/traversal.py
===================================================================
--- plone.z3cform/trunk/plone/z3cform/traversal.py	2009-02-27 14:17:33 UTC (rev 97349)
+++ plone.z3cform/trunk/plone/z3cform/traversal.py	2009-02-27 14:18:30 UTC (rev 97350)
@@ -23,10 +23,18 @@
         self.request = request
 
     def traverse(self, name, ignored):
-        name = name.split('.')[-1]
         
         form = self.context.form_instance
         z2.switch_on(self.context, request_layer=self.context.request_layer)
         
         form.update()
-        return form.widgets.get(name)
\ No newline at end of file
+        
+        # Find the widget - it may be in a group
+        if name in form.widgets:
+            return form.widgets.get(name)
+        elif form.groups is not None:
+            for group in form.groups:
+                if name in group.widgets:
+                    return group.widgets.get(name)
+        
+        return None
\ No newline at end of file



More information about the Checkins mailing list