mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[IMP] Mandate Sale: mandate visible only if mandate required
This commit is contained in:
committed by
Alexis de Lattre
parent
c9a49db3e6
commit
79fb4f18eb
@@ -16,6 +16,10 @@ class SaleOrder(models.Model):
|
|||||||
'account.banking.mandate', string='Direct Debit Mandate',
|
'account.banking.mandate', string='Direct Debit Mandate',
|
||||||
ondelete='restrict', readonly=True,
|
ondelete='restrict', readonly=True,
|
||||||
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]})
|
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]})
|
||||||
|
mandate_required = fields.Boolean(
|
||||||
|
related='payment_mode_id.payment_method_id.mandate_required',
|
||||||
|
readonly=True,
|
||||||
|
)
|
||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def _prepare_invoice(self):
|
def _prepare_invoice(self):
|
||||||
@@ -27,11 +31,12 @@ class SaleOrder(models.Model):
|
|||||||
@api.onchange('payment_mode_id')
|
@api.onchange('payment_mode_id')
|
||||||
def payment_mode_change(self):
|
def payment_mode_change(self):
|
||||||
"""Select by default the first valid mandate of the partner"""
|
"""Select by default the first valid mandate of the partner"""
|
||||||
if (
|
self.ensure_one()
|
||||||
self.payment_mode_id.payment_method_id.mandate_required and
|
if self.mandate_required and self.partner_id:
|
||||||
self.partner_id):
|
|
||||||
mandates = self.env['account.banking.mandate'].search([
|
mandates = self.env['account.banking.mandate'].search([
|
||||||
('state', '=', 'valid'),
|
('state', '=', 'valid'),
|
||||||
('partner_id', '=', self.commercial_partner_id.id),
|
('partner_id', '=', self.commercial_partner_id.id),
|
||||||
])
|
])
|
||||||
self.mandate_id = mandates[:1]
|
self.mandate_id = mandates[:1]
|
||||||
|
else:
|
||||||
|
self.mandate_id = False
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
* Alexis de Lattre <alexis.delattre@akretion.com>
|
* Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
|
* Thomas Binsfeld <thomas.binsfeld@acsone.eu>
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
<odoo>
|
<odoo>
|
||||||
|
|
||||||
|
|
||||||
<record id="view_order_form" model="ir.ui.view">
|
<record id="view_order_form" model="ir.ui.view">
|
||||||
<field name="name">account_banking_mandate_sale.sale_order.form</field>
|
<field name="name">account_banking_mandate_sale.sale_order.form</field>
|
||||||
<field name="model">sale.order</field>
|
<field name="model">sale.order</field>
|
||||||
@@ -15,10 +14,11 @@
|
|||||||
<field name="fiscal_position_id" position="after">
|
<field name="fiscal_position_id" position="after">
|
||||||
<field name="commercial_partner_id" invisible="1"/>
|
<field name="commercial_partner_id" invisible="1"/>
|
||||||
<field name="mandate_id"
|
<field name="mandate_id"
|
||||||
domain="[('partner_id', '=', commercial_partner_id), ('state', 'in', ('draft', 'valid'))]"/>
|
domain="[('partner_id', '=', commercial_partner_id), ('state', 'in', ('draft', 'valid'))]"
|
||||||
|
attrs="{'invisible': [('mandate_required', '=', False)]}"/>
|
||||||
|
<field name="mandate_required" invisible="1"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user