mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
Add number of mandates in partner form (similar to number of bank accounts)
This commit is contained in:
committed by
Enric Tobella
parent
9f1347a517
commit
e561b49fcd
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
23
account_banking_mandate/models/res_partner.py
Normal file
23
account_banking_mandate/models/res_partner.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
# 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)
|
||||
@@ -81,6 +81,7 @@
|
||||
<filter name="cancel" string="Cancelled" domain="[('state', '=', 'cancel')]" />
|
||||
<filter name="expired" string="Expired" domain="[('state', '=', 'expired')]" />
|
||||
<group string="Group By" name="groupby">
|
||||
<filter name="state_groupby" string="State" context="{'group_by': 'state'}"/>
|
||||
<filter name="signature_date_groupby" string="Signature Date" context="{'group_by': 'signature_date'}"/>
|
||||
</group>
|
||||
</search>
|
||||
|
||||
26
account_banking_mandate/views/res_partner.xml
Normal file
26
account_banking_mandate/views/res_partner.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="partner_view_buttons" model="ir.ui.view">
|
||||
<field name="name">mandate.res.partner.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="account.partner_view_buttons"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@name='%(base.action_res_partner_bank_account_form)d']" position="after">
|
||||
<button type="action" class="btn-link"
|
||||
name="%(account_banking_mandate.mandate_action)d"
|
||||
context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}">
|
||||
<field string="Mandate(s)" name="mandate_count" widget="statinfo"/>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
Reference in New Issue
Block a user