diff --git a/account_banking_mandate/__openerp__.py b/account_banking_mandate/__openerp__.py index 01242f081..76936cef4 100644 --- a/account_banking_mandate/__openerp__.py +++ b/account_banking_mandate/__openerp__.py @@ -24,6 +24,7 @@ 'views/account_invoice_view.xml', 'views/account_payment_line.xml', 'views/res_partner_bank_view.xml', + 'views/res_partner.xml', 'views/bank_payment_line_view.xml', 'views/account_move_line.xml', 'data/mandate_reference_sequence.xml', diff --git a/account_banking_mandate/models/__init__.py b/account_banking_mandate/models/__init__.py index acec851ac..4ffd1831d 100644 --- a/account_banking_mandate/models/__init__.py +++ b/account_banking_mandate/models/__init__.py @@ -5,6 +5,7 @@ from . import account_payment_method from . import account_payment_order from . import account_invoice from . import res_partner_bank +from . import res_partner from . import account_payment_line from . import bank_payment_line from . import account_move_line diff --git a/account_banking_mandate/models/res_partner.py b/account_banking_mandate/models/res_partner.py new file mode 100644 index 000000000..3c1fba967 --- /dev/null +++ b/account_banking_mandate/models/res_partner.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# © 2016 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import models, fields, api + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + mandate_count = fields.Integer( + compute='_compute_mandate_count', string="Number of Mandates", + readonly=True) + + @api.multi + def _compute_mandate_count(self): + mandate_data = self.env['account.banking.mandate'].read_group( + [('partner_id', 'in', self.ids)], ['partner_id'], ['partner_id']) + mapped_data = dict([ + (mandate['partner_id'][0], mandate['partner_id_count']) + for mandate in mandate_data]) + for partner in self: + partner.mandate_count = mapped_data.get(partner.id, 0) diff --git a/account_banking_mandate/views/account_banking_mandate_view.xml b/account_banking_mandate/views/account_banking_mandate_view.xml index a7112cc0f..682bdf076 100644 --- a/account_banking_mandate/views/account_banking_mandate_view.xml +++ b/account_banking_mandate/views/account_banking_mandate_view.xml @@ -81,6 +81,7 @@ + diff --git a/account_banking_mandate/views/res_partner.xml b/account_banking_mandate/views/res_partner.xml new file mode 100644 index 000000000..ea0d8a57f --- /dev/null +++ b/account_banking_mandate/views/res_partner.xml @@ -0,0 +1,26 @@ + + + + + + + mandate.res.partner.form + res.partner + + + + + + + + + +