diff --git a/product/ERP5Type/Accessor/Base.py b/product/ERP5Type/Accessor/Base.py index 40d26b0b23f133f13df6ba64874cce3995ab5342..35252dc195a4ba9d09a7856d3c649a33a4c336d9 100755 --- a/product/ERP5Type/Accessor/Base.py +++ b/product/ERP5Type/Accessor/Base.py @@ -97,7 +97,9 @@ class Setter(Method): # if the property value has changed # to decide reindexing, like edit() ? +from Products.CMFCore.Expression import Expression def _evaluateTales(instance=None, value=None): + from Products.ERP5Type.Utils import createExpressionContext expression = Expression(value) econtext = createExpressionContext(instance) return expression(econtext) @@ -141,6 +143,8 @@ class Getter(Method): 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) return default psyco.bind(__call__)