pass
if name:
if operator not in expression.NEGATIVE_TERM_OPERATORS:
- ids = self.search(cr, user, ['|', ('code', '=like', name+"%"), '|', ('shortcut', '=', name), ('name', operator, name)]+args, limit=limit)
+ plus_percent = lambda n: n+'%'
+ code_op, code_conv = {
+ 'ilike': ('=ilike', plus_percent),
+ 'like': ('=like', plus_percent),
+ }.get(operator, (operator, lambda n: n))
+
+ ids = self.search(cr, user, ['|', ('code', code_op, code_conv(name)), '|', ('shortcut', '=', name), ('name', operator, name)]+args, limit=limit)
+
if not ids and len(name.split()) >= 2:
#Separating code and name of account for searching
operand1,operand2 = name.split(' ',1) #name can contain spaces e.g. OpenERP S.A.