[FIX] base: name_search of res_partner can now handle properly when limit=None is passed
bzr revid: qdp-launchpad@openerp.com-20120417101810-wwijmbp06aflcebs
This commit is contained in:
parent
ff6f2a9e00
commit
03b62d9b21
|
@ -307,10 +307,15 @@ class res_partner(osv.osv):
|
|||
if name and operator in ('=', 'ilike', '=ilike', 'like'):
|
||||
# search on the name of the contacts and of its company
|
||||
name2 = operator == '=' and name or '%' + name + '%'
|
||||
limit_str = ''
|
||||
query_args = [name2]
|
||||
if limit:
|
||||
limit_str = ' limit %s'
|
||||
query_args += [limit]
|
||||
cr.execute('''SELECT partner.id FROM res_partner partner
|
||||
LEFT JOIN res_partner company ON partner.parent_id = company.id
|
||||
WHERE partner.name || ' (' || COALESCE(company.name,'') || ')'
|
||||
''' + operator + ''' %s limit '''+str(limit), (name2,))
|
||||
''' + operator + ''' %s ''' + limit_str, query_args)
|
||||
ids = map(lambda x: x[0], cr.fetchall())
|
||||
if args:
|
||||
ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context)
|
||||
|
|
Loading…
Reference in New Issue