[Erp5-report] r8844 - /erp5/trunk/products/ERP5Form/Form.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jul 28 02:47:59 CEST 2006


Author: yo
Date: Fri Jul 28 02:47:55 2006
New Revision: 8844

URL: http://svn.erp5.org?rev=8844&view=rev
Log:
Always try a property if a field is prefixed with my_, when getting a default value.

Modified:
    erp5/trunk/products/ERP5Form/Form.py

Modified: erp5/trunk/products/ERP5Form/Form.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/Form.py?rev=8844&r1=8843&r2=8844&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/Form.py (original)
+++ erp5/trunk/products/ERP5Form/Form.py Fri Jul 28 02:47:55 2006
@@ -113,25 +113,19 @@
             # call wrapped method to get answer
             value = override.__of__(self)()
         else:
-            # get normal value
+            # Get a normal value.
             value = self.get_orig_value(id)
 
-            # For the 'default' value, we try to get a default value
-            if id == 'default':
-                if (value is None or value == '' or value == [] or value == ()) \
-                       and self.meta_type != 'MethodField' :
-                  # If nothing was provided then try to
-                  # find a default method to get the value
-                  # for that field
-                  # NEEDS TO BE CLEANED UP
-                  try:
-                    form = self.aq_parent
-                    object = getattr(form, 'aq_parent', None)
-                    key = self.id
-                    key = key[3:]
-                    value = object.getProperty(key, d=value)
-                  except (KeyError, AttributeError):
-                    value = None
+            # For the 'default' value, we try to get a property value
+            # stored in the context, only if the field is prefixed with my_.
+            if id == 'default' and self.id[:3] == 'my_':
+              try:
+                form = self.aq_parent
+                ob = getattr(form, 'aq_parent', None)
+                key = self.id[3:]
+                value = ob.getProperty(key, d=value)
+              except (KeyError, AttributeError):
+                value = None
             # For the 'editable' value, we try to get a default value
             elif id == 'editable':
                 # By default, pages are editable and




More information about the Erp5-report mailing list