bank-payment/account_payment_purchase/models/account_invoice.py

36 lines
1.4 KiB
Python
Raw Permalink Normal View History

2021-03-23 19:28:51 +00:00
# Copyright 2016 Akretion (<http://www.akretion.com>).
# Copyright 2017 Tecnativa - Vicent Cubells.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from flectra import _, api, models
class AccountInvoice(models.Model):
_inherit = "account.invoice"
@api.onchange('purchase_id')
def purchase_order_change(self):
new_purchase = self.purchase_id
new_mode = self.purchase_id.payment_mode_id.id or False
new_bank = self.purchase_id.supplier_partner_bank_id.id or False
res = super(AccountInvoice, self).purchase_order_change()
if not new_purchase:
# User did not add a purchase order, no need to warn
return res
if self.payment_mode_id and self.payment_mode_id.id != new_mode:
res['warning'] = {
'title': _('Warning'),
'message': _('Selected purchase order have different '
'payment mode.'),
}
return res
self.payment_mode_id = new_mode
if self.partner_bank_id and self.partner_bank_id.id != new_bank:
res['warning'] = {
'title': _('Warning'),
'message': _('Selected purchase order have different '
'supplier bank.'),
}
return res
self.partner_bank_id = new_bank