Fix search_rec_name for negative operator
In case of negative operator, each subclause must be composed with 'AND'. issue4559 review13111003
This commit is contained in:
+15
-3
@@ -433,7 +433,11 @@ class AccountTemplate(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'
|
||||
return [bool_op,
|
||||
('code',) + tuple(clause[1:]),
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
@@ -851,7 +855,11 @@ class Account(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'
|
||||
return [bool_op,
|
||||
('code',) + tuple(clause[1:]),
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
@@ -1032,7 +1040,11 @@ class AccountDeferral(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'
|
||||
return [bool_op,
|
||||
('account.rec_name',) + tuple(clause[1:]),
|
||||
('fiscalyear.rec_name',) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
+5
-1
@@ -317,7 +317,11 @@ class FiscalYear(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'
|
||||
return [bool_op,
|
||||
('code',) + tuple(clause[1:]),
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
+5
-1
@@ -170,7 +170,11 @@ class Journal(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'
|
||||
return [bool_op,
|
||||
('code',) + tuple(clause[1:]),
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
@@ -231,7 +231,11 @@ class Move(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'
|
||||
return [bool_op,
|
||||
('post_number',) + tuple(clause[1:]),
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
@@ -324,7 +324,11 @@ class Period(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'
|
||||
return [bool_op,
|
||||
('code',) + tuple(clause[1:]),
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
@@ -235,7 +235,11 @@ class TaxCode(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'
|
||||
return [bool_op,
|
||||
('code',) + tuple(clause[1:]),
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user