From 7909a4409afb0b2dc4ac8b4db402f8e5dd5970c8 Mon Sep 17 00:00:00 2001 From: qdp-odoo Date: Wed, 2 Dec 2015 11:21:58 +0100 Subject: [PATCH] [FIX] analytic: fixed name_search() on analytic account. The partner_id field is not mandatory, but the previous domain was making an inner join with the partner table, which resulted in not finding the accounts matching the search criteria on name/code if they hadn't a partner set. --- addons/analytic/models/analytic.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/analytic/models/analytic.py b/addons/analytic/models/analytic.py index b1759ac7406..45de1c26198 100644 --- a/addons/analytic/models/analytic.py +++ b/addons/analytic/models/analytic.py @@ -77,7 +77,11 @@ class account_analytic_account(models.Model): @api.model def name_search(self, name='', args=None, operator='ilike', limit=100): args = args or [] - recs = self.search(['|', '|', ('code', operator, name), ('partner_id.name', operator, name), ('name', operator, name)] + args, limit=limit) + domain = ['|', ('code', operator, name), ('name', operator, name)] + partners = self.env['res.partner'].search([('name', operator, name)], limit=limit) + if partners: + domain = ['|'] + domain + [('partner_id', 'in', partners.ids)] + recs = self.search(domain + args, limit=limit) return recs.name_get()