Fix search_rec_name for negative operator
In case of negative operator, each subclause must be composed with 'AND'. issue4559 review7071002
This commit is contained in:
1 parent
6d6a68852e
commit
10d896fa77
2 files changed
+17
-13
No files matched your search
@@ -337,13 +337,15 @@ class Translation(ModelSQL, ModelView):
|
||||
@classmethod
|
||||
def search_rec_name(cls, name, clause):
|
||||
clause = tuple(clause)
|
||||
translations = cls.search(['OR',
|
||||
('src',) + clause[1:],
|
||||
('value',) + clause[1:],
|
||||
])
|
||||
if translations:
|
||||
return [('id', 'in', [t.id for t in translations])]
|
||||
return [(cls._rec_name,) + clause[1:]]
|
||||
if clause[1].startswith('!') or clause[1].startswith('not '):
|
||||
bool_op = 'AND'
|
||||
else:
|
||||
bool_op = 'OR'
|
||||
return [bool_op,
|
||||
('src',) + clause[1:],
|
||||
('value',) + clause[1:],
|
||||
(cls._rec_name,) + clause[1:],
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def search_model(cls, name, clause):
|
||||
|
||||
+8
-6
@@ -274,12 +274,14 @@ class User(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def search_rec_name(cls, name, clause):
|
||||
users = cls.search([
|
||||
('login', '=', clause[2]),
|
||||
], order=[])
|
||||
if len(users) == 1:
|
||||
return [('id', '=', users[0].id)]
|
||||
return [(cls._rec_name,) + tuple(clause[1:])]
|
||||
if clause[1].startswith('!') or clause[1].startswith('not '):
|
||||
bool_op = 'AND'
|
||||
else:
|
||||
bool_op = 'OR'
|
||||
return [bool_op,
|
||||
('login',) + tuple(clause[1:]),
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def copy(cls, users, default=None):
|
||||
|
||||
Reference in new issue
Block a user