From b08e0b0fe177572351faa9514becdfd495bf3c19 Mon Sep 17 00:00:00 2001 From: Gery Debongnie Date: Wed, 7 May 2014 10:17:23 +0200 Subject: [PATCH] [FIX] code cleanup (addon crm_claim) improves the _claim_count method by removing try/except/pass and by using search_count. Also, removes the now useless one2many field claims_ids (strangely, it was defined before _claim_count, but was not used. bzr revid: ged@openerp.com-20140507081723-7pi1t33xxjb6hbwy --- addons/crm_claim/crm_claim.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py index d55036193c4..4d44b90c2f2 100644 --- a/addons/crm_claim/crm_claim.py +++ b/addons/crm_claim/crm_claim.py @@ -191,15 +191,13 @@ class crm_claim(osv.osv): class res_partner(osv.osv): _inherit = 'res.partner' def _claim_count(self, cr, uid, ids, field_name, arg, context=None): - res = dict(map(lambda x: (x,0), ids)) - try: - for partner in self.browse(cr, uid, ids, context=context): - res[partner.id] = len(partner.claims_ids) - except: - pass - return res + Claim = self.pool['crm.claim'] + return { + partner_id: Claim.search_count(cr,uid, [('partner_id', '=', partner_id)], context=context) + for partner_id in ids + } + _columns = { - 'claims_ids': fields.one2many('crm.claim', 'partner_id', 'Claims'), 'claim_count': fields.function(_claim_count, string='# Claims', type='integer'), }