diff options
| author | Gery Debongnie <ged@openerp.com> | 2014-05-07 11:08:41 +0200 |
|---|---|---|
| committer | Gery Debongnie <ged@openerp.com> | 2014-05-07 11:08:41 +0200 |
| commit | d8fef2825e751f33020678a3a1e7bce6d6bdee7b (patch) | |
| tree | b3c3b7f0ce8d3cad9b2e63e0d084f7a6f7521644 /addons/account_analytic_default | |
| parent | 943f2d4e4ed6f35c3a8a696a9b16ef04c84b8dc1 (diff) | |
[FIX] code cleanup (addon account_analytic_default)
improves the _rules_count method (remove try/catch and better logic), and
removes now useless one2many field rules_ids
bzr revid: ged@openerp.com-20140507090841-jptga7kjrverd25n
Diffstat (limited to 'addons/account_analytic_default')
| -rw-r--r-- | addons/account_analytic_default/account_analytic_default.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index 1faf75d5eee..ac8698ae342 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -117,15 +117,12 @@ class sale_order_line(osv.osv): class product_product(osv.Model): _inherit = 'product.product' def _rules_count(self, cr, uid, ids, field_name, arg, context=None): - res = dict(map(lambda x: (x,0), ids)) - try: - for rule in self.browse(cr, uid, ids, context=context): - res[rule.id] = len(rule.rules_ids) - except: - pass - return res + Analytic = self.pool['account.analytic.default'] + return { + product_id: Analytic.search_count(cr, uid, [('product_id', '=', product_id)], context=context) + for product_id in ids + } _columns = { - 'rules_ids': fields.one2many('account.analytic.default', 'product_id', 'Analytic Rules '), 'rules_count': fields.function(_rules_count, string='# Analytic Rules', type='integer'), } |
