changeset 015aa5ebbd2a in modules/country:default
details: https://hg.tryton.org/modules/country?cmd=changeset&node=015aa5ebbd2a
description:
Invert boolean operator in search_rec_name and strip code value
issue11665
review427601003
diffstat:
country.py | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diffs (50 lines):
diff -r 77c8a0d86ecb -r 015aa5ebbd2a country.py
--- a/country.py Fri Aug 26 18:21:15 2022 +0200
+++ b/country.py Thu Sep 01 22:08:52 2022 +0200
@@ -63,10 +63,14 @@
@classmethod
def search_rec_name(cls, name, clause):
+ if clause[1].startswith('!') or clause[1].startswith('not '):
+ bool_op = 'AND'
+ else:
+ bool_op = 'OR'
code_value = clause[2]
if clause[1].endswith('like'):
code_value = lstrip_wildcard(clause[2])
- return ['OR',
+ return [bool_op,
('name',) + tuple(clause[1:]),
('code', clause[1], code_value) + tuple(clause[3:]),
('code3', clause[1], code_value) + tuple(clause[3:]),
@@ -288,9 +292,16 @@
@classmethod
def search_rec_name(cls, name, clause):
- return ['OR',
+ if clause[1].startswith('!') or clause[1].startswith('not '):
+ bool_op = 'AND'
+ else:
+ bool_op = 'OR'
+ code_value = clause[2]
+ if clause[1].endswith('like'):
+ code_value = lstrip_wildcard(clause[2])
+ return [bool_op,
('name',) + tuple(clause[1:]),
- ('code',) + tuple(clause[1:]),
+ ('code', clause[1], code_value) + tuple(clause[3:]),
]
@classmethod
@@ -354,7 +365,10 @@
bool_op = 'AND'
else:
bool_op = 'OR'
+ code_value = clause[2]
+ if clause[1].endswith('like'):
+ code_value = lstrip_wildcard(clause[2])
return [bool_op,
- ('postal_code',) + tuple(clause[1:]),
+ ('postal_code', clause[1], code_value) + tuple(clause[3:]),
('city',) + tuple(clause[1:]),
]