From 3b790fd4e2ba5289adeea22bd9de18c9db6d41a0 Mon Sep 17 00:00:00 2001 From: jmartin Date: Mon, 11 Apr 2016 16:47:17 +0200 Subject: [PATCH] Improve search_rec_name method of template --- product.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/product.py b/product.py index 64a78b0..60834fb 100644 --- a/product.py +++ b/product.py @@ -40,8 +40,15 @@ class Template: @classmethod def search_rec_name(cls, name, clause): - return ['OR', super(Template, cls).search_rec_name(name, clause), - [('code',) + tuple(clause[1:])]] + domain = super(Template, cls).search_rec_name(name, clause) + if clause[1].startswith('!') or clause[1].startswith('not '): + bool_op = 'AND' + else: + bool_op = 'OR' + return [bool_op, + domain, + ('code',) + tuple(clause[1:]), + ] def get_code(self, name): if self.unique_variant: