From a66d67987e588a579dfbc8d37b0c298efa99c444 Mon Sep 17 00:00:00 2001 From: ced <> Date: Fri, 31 Aug 2007 13:47:29 +0000 Subject: [PATCH] Allow to set integer field as _rec_name bzr revid: ced-1c85419c92efafaca3fde44e939736016879301d --- bin/osv/orm.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 001fb05056b..2d70f5cbe2c 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -1634,7 +1634,14 @@ class orm(object): else: x1 = x[1] if x[0] in table._columns: - qu1.append('(%s.%s %s %s)' % (table._table, x[0], x1, table._columns[x[0]]._symbol_set[0])) + if x[1] in ('like', 'ilike'): + + qu1.append('(%s.%s %s %s)' % (table._table, + x[0], x1, '%s')) + else: + qu1.append('(%s.%s %s %s)' % (table._table, + x[0], x1, + table._columns[x[0]]._symbol_set[0])) else: qu1.append('(%s.%s %s \'%s\')' % (table._table, x[0], x1, x[2])) @@ -1725,7 +1732,8 @@ class orm(object): return [] if isinstance(ids, (int, long)): ids = [ids] - return [(r['id'], r[self._rec_name]) for r in self.read(cr, user, ids, [self._rec_name], context, load='_classic_write')] + return [(r['id'], str(r[self._rec_name])) for r in self.read(cr, user, ids, + [self._rec_name], context, load='_classic_write')] def name_search(self, cr, user, name='', args=None, operator='ilike', context=None, limit=80): if not args: