From c9275a881799c77a538aeae1e2f17f3a992bb785 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Mon, 2 Mar 2015 10:28:00 +0100 Subject: [PATCH] [IMP] more readable code --- web_advanced_filters/model/ir_filters.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/web_advanced_filters/model/ir_filters.py b/web_advanced_filters/model/ir_filters.py index d09db3df..72c7a958 100644 --- a/web_advanced_filters/model/ir_filters.py +++ b/web_advanced_filters/model/ir_filters.py @@ -70,16 +70,13 @@ class IrFilters(Model): 'model_id'], context=context): if c['evaluate_before_negate']: + matching_ids = self.pool[c['model_id']].search( + cr, uid, eval_n(c['domain']), + context=context) domain = expression.AND([ domain, - [ - [ - 'id', 'not in', - self.pool[c['model_id']].search( - cr, uid, eval_n(c['domain']), - context=context) - ] - ]]) + [('id', 'not in', matching_ids)], + ]) else: domain = expression.AND([ domain, @@ -101,7 +98,8 @@ class IrFilters(Model): context=context): result[this['id']] = False complement_domain = expression.normalize_domain( - safe_eval(this['domain'] or 'False') or [expression.FALSE_LEAF]) + safe_eval(this['domain'] or 'False') or + [expression.FALSE_LEAF]) for arg in complement_domain: if not expression.is_leaf(arg): continue