[FIX] expression: in nodes like (left, 'in', right), apply _symbol_set on all values...
authorRaphael Collet <rco@openerp.com>
Thu, 3 Oct 2013 07:53:51 +0000 (09:53 +0200)
committerRaphael Collet <rco@openerp.com>
Thu, 3 Oct 2013 07:53:51 +0000 (09:53 +0200)
bzr revid: rco@openerp.com-20131003075351-5quyz6ge1ayczdo9

openerp/osv/expression.py

index 18a1e95..d471f7e 100644 (file)
@@ -1114,7 +1114,9 @@ class expression(object):
                     if left == 'id':
                         instr = ','.join(['%s'] * len(params))
                     else:
-                        instr = ','.join([model._columns[left]._symbol_set[0]] * len(params))
+                        ss = model._columns[left]._symbol_set
+                        instr = ','.join([ss[0]] * len(params))
+                        params = map(ss[1], params)
                     query = '(%s."%s" %s (%s))' % (table_alias, left, operator, instr)
                 else:
                     # The case for (left, 'in', []) or (left, 'not in', []).