Invert boolean operator when searching description with negative operator

Closes #14037
This commit is contained in:
Cédric Krier
2025-05-27 19:57:03 +02:00
parent 676050ff70
commit b859ee5074
+8 -3
View File
@@ -66,9 +66,14 @@ class DescriptionOriginMixin:
@classmethod
def search_description_used(cls, name, clause):
pool = Pool()
domain = ['OR', [
('description', '!=', None),
('description', '!=', ''),
operator = clause[1]
if operator.startswith('!') or operator.startswith('not '):
bool_op, bool_desc_op, desc_op = 'AND', 'OR', '='
else:
bool_op, bool_desc_op, desc_op = 'OR', 'AND', '!='
domain = [bool_op, [bool_desc_op,
('description', desc_op, None),
('description', desc_op, ''),
('description', *clause[1:]),
],
]