# Copyright 2016 Akretion (). # 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