def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args = []
- if context is None:
- context = {}
- ids = []
- if context.get('journal_type', False):
- args += [('type','=',context.get('journal_type'))]
- if name:
- ids = self.search(cr, user, [('code', 'ilike', name)]+ args, limit=limit, context=context)
- if not ids:
- ids = self.search(cr, user, [('name', 'ilike', name)]+ args, limit=limit, context=context)#fix it ilike should be replace with operator
-
+ if operator in expression.NEGATIVE_TERM_OPERATORS:
+ domain = [('code', operator, name), ('name', operator, name)]
+ else:
+ domain = ['|', ('code', operator, name), ('name', operator, name)]
+ ids = self.search(cr, user, expression.AND([domain, args]), limit=limit, context=context)
return self.name_get(cr, user, ids, context=context)
-account_journal()
class account_fiscalyear(osv.osv):
_name = "account.fiscalyear"
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
if args is None:
args = []
- if context is None:
- context = {}
- ids = []
- if name:
- ids = self.search(cr, user, [('code', 'ilike', name)]+ args, limit=limit)
- if not ids:
- ids = self.search(cr, user, [('name', operator, name)]+ args, limit=limit)
+ if operator in expression.NEGATIVE_TERM_OPERATORS:
+ domain = [('code', operator, name), ('name', operator, name)]
+ else:
+ domain = ['|', ('code', operator, name), ('name', operator, name)]
+ ids = self.search(cr, user, expression.AND([domain, args]), limit=limit, context=context)
return self.name_get(cr, user, ids, context=context)
-account_fiscalyear()
class account_period(osv.osv):
_name = "account.period"