[Erp5-report] r8381 - /erp5/trunk/products/ERP5Type/Accessor/Base.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Jul 11 11:15:12 CEST 2006


Author: romain
Date: Tue Jul 11 11:15:07 2006
New Revision: 8381

URL: http://svn.erp5.org?rev=8381&view=rev
Log:
Add a context object parameter for evaluating a tales expression.

Modified:
    erp5/trunk/products/ERP5Type/Accessor/Base.py

Modified: erp5/trunk/products/ERP5Type/Accessor/Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Accessor/Base.py?rev=8381&r1=8380&r2=8381&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Accessor/Base.py (original)
+++ erp5/trunk/products/ERP5Type/Accessor/Base.py Tue Jul 11 11:15:07 2006
@@ -132,19 +132,26 @@
       self._storage_id = storage_id
       self._is_tales_type = (property_type == 'tales')
 
-    def __call__(self, instance, *args, **kw):
+    def __call__(self, instance, object=None, *args, **kw):
       if len(args) > 0:
         default = args[0]
       else:
         default = self._default
-      value = getattr(aq_base(instance), self._storage_id, None) # No acquisition on properties
+      # No acquisition on properties
+      value = getattr(aq_base(instance), self._storage_id, None) 
       if value is not None:
         if self._is_tales_type and kw.get('evaluate', 1):
-          return evaluateTales(instance, value)
+          if object is not None:
+            return evaluateTales(object, value)
+          else:
+            return evaluateTales(instance, value)
         else:
           return value
       if default is not None and self._is_tales_type and kw.get('evaluate', 1):
-        return evaluateTales(instance, default)
+        if object is not None:
+          return evaluateTales(object, default)
+        else:
+          return evaluateTales(instance, default)
       return default
 
     psyco.bind(__call__)




More information about the Erp5-report mailing list