[FIX] better test, add missing parentheses in query, return empty list in case of no idea (instead of triggering super)
bzr revid: mat@openerp.com-20140129123404-8hs786n64briqyta
This commit is contained in:
@@ -619,12 +619,12 @@ class res_partner(osv.osv, format_address):
|
||||
query = ('''SELECT res_partner.id FROM res_partner
|
||||
LEFT JOIN res_partner company
|
||||
ON res_partner.parent_id = company.id'''
|
||||
+ where_str + ''' res_partner.email ''' + operator + ''' %s OR
|
||||
+ where_str + ''' (res_partner.email ''' + operator + ''' %s OR
|
||||
CASE
|
||||
WHEN company.id IS NULL OR res_partner.is_company
|
||||
THEN res_partner.name
|
||||
ELSE company.name || ', ' || res_partner.name
|
||||
END ''' + operator + ''' %s
|
||||
END ''' + operator + ''' %s)
|
||||
ORDER BY
|
||||
CASE
|
||||
WHEN company.id IS NULL OR res_partner.is_company
|
||||
@@ -641,6 +641,8 @@ class res_partner(osv.osv, format_address):
|
||||
|
||||
if ids:
|
||||
return self.name_get(cr, uid, ids, context)
|
||||
else:
|
||||
return []
|
||||
return super(res_partner,self).name_search(cr, uid, name, args, operator=operator, context=context, limit=limit)
|
||||
|
||||
def find_or_create(self, cr, uid, email, context=None):
|
||||
|
||||
@@ -41,12 +41,18 @@ class test_base(common.TransactionCase):
|
||||
|
||||
def test_15_res_partner_name_search(self):
|
||||
cr,uid = self.cr, self.uid
|
||||
for text, name, mail in self.samples:
|
||||
partner_id, dummy = self.res_partner.name_create(cr, uid, text)
|
||||
for name, active in [
|
||||
('"A Raoul Grosbedon" <raoul@chirurgiens-dentistes.fr>', False),
|
||||
('ryu+giga-Sushi@aizubange.fukushima.jp', True),
|
||||
('Raoul chirurgiens-dentistes.fr', True),
|
||||
(" Raoul O'hara <!@historicalsociety.museum>", True)
|
||||
]:
|
||||
partner_id, dummy = self.res_partner.name_create(cr, uid, name, context={'default_active': active})
|
||||
partners = self.res_partner.name_search(cr, uid, 'Raoul')
|
||||
self.assertEqual(len(partners), 3, 'Incorrect search number result for name_search')
|
||||
self.assertEqual(len(partners), 2, 'Incorrect search number result for name_search')
|
||||
partners = self.res_partner.name_search(cr, uid, 'Raoul', limit=1)
|
||||
self.assertEqual(len(partners), 1, 'Incorrect search number result for name_search with a limit')
|
||||
self.assertEqual(partners[0][1], 'Raoul chirurgiens-dentistes.fr', 'Incorrect partner returned, should be the first active')
|
||||
|
||||
def test_20_res_partner_address_sync(self):
|
||||
cr, uid = self.cr, self.uid
|
||||
|
||||
Reference in New Issue
Block a user