From 2f4f8aa9dd8fff6a4c4880356a7956f400ca9caa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Thu, 14 Apr 2022 10:21:54 +0200 Subject: [PATCH] Remove extra operator when simplifying nested domains issue11406 review390621002 --- tryton/common/domain_inversion.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tryton/common/domain_inversion.py b/tryton/common/domain_inversion.py index 2165b645d7..5af1a6b0f6 100644 --- a/tryton/common/domain_inversion.py +++ b/tryton/common/domain_inversion.py @@ -307,9 +307,14 @@ def simplify_nested(domain): domain_op = bool_operator(domain) for branch in domain: simplified_branch = simplify_nested(branch) - if (bool_operator(branch) == domain_op + if (bool_operator(simplified_branch) == domain_op or len(simplified_branch) == 1): - simplified.extend(simplified_branch) + if (simplified + and simplified_branch + and simplified_branch[0] in ['AND', 'OR']): + simplified.extend(simplified_branch[1:]) + else: + simplified.extend(simplified_branch) else: simplified.append(simplified_branch) return simplified