# Copyright (C) 2019 - Today: GRAP (http://www.grap.coop) # @author: Sylvain LE GAL (https://twitter.com/legalsylvain) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import _, api, models from odoo.exceptions import Warning as UserError class AccountPayment(models.Model): _inherit = 'account.payment' @api.multi def post(self): payments = self.filtered( lambda x: any(x.mapped('invoice_ids.pos_pending_payment'))) if payments: raise UserError(_( "You can not realize this action on the payments(s) %s because" " there are pending payments in the Point of Sale.") % ( ', '.join( [x for x in payments.mapped('communication') if x]))) return super().post()