From df4665fcd2d52a12bf5a36955334e852d9195612 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 6 Dec 2012 10:16:48 +0100 Subject: [PATCH] [IMP] [CLEAN] [REVIEW] field._properties -> isinstance(field, fields.function). bzr revid: tde@openerp.com-20121206091648-vmy2ghr293reoxn6 --- openerp/osv/expression.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/openerp/osv/expression.py b/openerp/osv/expression.py index 9078cf5..c4c7f44 100644 --- a/openerp/osv/expression.py +++ b/openerp/osv/expression.py @@ -137,6 +137,7 @@ import logging import traceback import openerp.modules +from openerp.osv import fields from openerp.osv.orm import MAGIC_COLUMNS import openerp.tools as tools @@ -814,12 +815,13 @@ class expression(object): leaf.leaf = ('id', 'in', table_ids) leafs_to_stack.append(leaf) - # ---------------------------------------- + # ------------------------------------------------- # FUNCTION FIELD - # -> not stored, get the result of fnct_search - # ---------------------------------------- + # -> not stored: error if no _fnct_search, otherwise handle the result domain + # -> stored: management done in the remaining of parsing + # ------------------------------------------------- - elif field._properties and not field.store and not field._fnct_search: + elif isinstance(field, fields.function) and not field.store and not field._fnct_search: # this is a function field that is not stored # the function field doesn't provide a search function and doesn't store # values in the database, so we must ignore it : we generate a dummy leaf @@ -833,7 +835,7 @@ class expression(object): _logger.debug(''.join(traceback.format_stack())) leafs_to_stack.append(leaf) - elif field._properties and not field.store: + elif isinstance(field, fields.function) and not field.store: # this is a function field that is not stored fct_domain = field.search(cr, uid, working_table, left, [leaf.leaf], context=context) if not fct_domain: -- 1.7.10.4