Invert boolean operator in search_rec_name and strip code value

issue11665
review427601003
This commit is contained in:
Cédric Krier committed 2022-09-01 22:08:52 +02:00
1 parent f2aa898f40
commit 0ec28519d4
1 file changed
+18 -4
+18 -4
View File
@@ -63,10 +63,14 @@ class Country(DeactivableMixin, ModelSQL, ModelView):
@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 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
@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 @@ class PostalCode(ModelSQL, ModelView):
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:]),
]