changeset 0a6285f33c2f in tryton:default
details: https://hg.tryton.org/tryton?cmd=changeset&node=0a6285f33c2f
description:
Remove extra operator when simplifying nested domains
issue11406
review390621002
diffstat:
tryton/common/domain_inversion.py | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diffs (20 lines):
diff -r 7a9ef1e1db52 -r 0a6285f33c2f tryton/common/domain_inversion.py
--- a/tryton/common/domain_inversion.py Mon Apr 11 23:41:21 2022 +0200
+++ b/tryton/common/domain_inversion.py Thu Apr 14 10:21:54 2022 +0200
@@ -307,9 +307,14 @@
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