[FIX] code cleanup (addon account)

improve the logic of _journal_item_count (removes try/except/pass, use search_count) and remove useless one2many field in res_partner (journal_item_ids)

bzr revid: ged@openerp.com-20140507121310-ya6m71fvs40rf90d
This commit is contained in:
Gery Debongnie 2014-05-07 14:13:10 +02:00
parent 9f3abe3ea4
commit aeebac88d9
1 changed files with 9 additions and 13 deletions

View File

@ -172,18 +172,15 @@ class res_partner(osv.osv):
return result
def _journal_item_count(self, cr, uid, ids, field_name, arg, context=None):
res = dict(map(lambda x: (x,{'journal_item_count': 0, 'contracts_count': 0 }), ids))
# the user may not have access rights
try:
for partner in self.browse(cr, uid, ids, context=context):
res[partner.id] = {
'journal_item_count': len(partner.journal_item_ids),
'contracts_count': len(partner.contract_ids)
}
except:
pass
return res
MoveLine = self.pool('account.move.line')
AnalyticAccount = self.pool('account.analytic.account')
return {
partner_id: {
'journal_item_count': MoveLine.search_count(cr, uid, [('partner_id', '=', partner_id)], context=context),
'contracts_count': AnalyticAccount.search_count(cr,uid, [('partner_id', '=', partner_id)], context=context)
}
for partner_id in ids
}
def has_something_to_reconcile(self, cr, uid, partner_id, context=None):
'''
@ -215,7 +212,6 @@ class res_partner(osv.osv):
'debit_limit': fields.float('Payable Limit'),
'total_invoiced': fields.function(_invoice_total, string="Total Invoiced", type='float'),
'contracts_count': fields.function(_journal_item_count, string="Contracts", type='integer', multi="invoice_journal"),
'journal_item_ids': fields.one2many('account.move.line', 'partner_id', 'Journal Items'),
'journal_item_count': fields.function(_journal_item_count, string="Journal Items", type="integer", multi="invoice_journal"),
'property_account_payable': fields.property(
type='many2one',