[FIX] Import - Use the right comparator to allow import with accounts_ids
authorJeremy Kersten <jke@odoo.com>
Wed, 11 Jun 2014 15:18:30 +0000 (17:18 +0200)
committerJeremy Kersten <jke@odoo.com>
Thu, 12 Jun 2014 11:29:40 +0000 (13:29 +0200)
addons/account/account.py

index 792e4c4..e1a2dfa 100644 (file)
@@ -580,7 +580,14 @@ class account_account(osv.osv):
             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.