summaryrefslogtreecommitdiff
path: root/addons/analytic/models/analytic.py
diff options
context:
space:
mode:
authorqdp-odoo <qdp@odoo.com>2015-12-02 11:21:58 +0100
committerqdp-odoo <qdp@odoo.com>2015-12-02 14:35:27 +0100
commit7909a4409afb0b2dc4ac8b4db402f8e5dd5970c8 (patch)
treed5bc1c2059aba6ab15110ee1a7ed5e702386e901 /addons/analytic/models/analytic.py
parent5db0db924a1edef4bf40f86886d527069f7e3505 (diff)
[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.
Diffstat (limited to 'addons/analytic/models/analytic.py')
-rw-r--r--addons/analytic/models/analytic.py6
1 files changed, 5 insertions, 1 deletions
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()