diff --git a/addons/snailmail_account/i18n/snailmail_account.pot b/addons/snailmail_account/i18n/snailmail_account.pot index e563fc827a0..fb1bea94db9 100644 --- a/addons/snailmail_account/i18n/snailmail_account.pot +++ b/addons/snailmail_account/i18n/snailmail_account.pot @@ -167,3 +167,9 @@ msgstr "" #: model:ir.model.fields,field_description:snailmail_account.field_account_invoice_send__snailmail_cost msgid "Stamp(s)" msgstr "" + +#. module: snailmail_account +#: code:addons/snailmail_account/wizard/account_invoice_send.py:0 +#, python-format +msgid "You cannot send an invoice which has no partner assigned." +msgstr "" diff --git a/addons/snailmail_account/wizard/account_invoice_send.py b/addons/snailmail_account/wizard/account_invoice_send.py index c093c7b99b3..0b5c7ffbc2e 100644 --- a/addons/snailmail_account/wizard/account_invoice_send.py +++ b/addons/snailmail_account/wizard/account_invoice_send.py @@ -2,6 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models, Command, _ +from odoo.exceptions import UserError class AccountInvoiceSend(models.TransientModel): @@ -21,6 +22,8 @@ class AccountInvoiceSend(models.TransientModel): @api.depends('invoice_ids') def _compute_invalid_addresses(self): for wizard in self: + if any(not invoice.partner_id for invoice in wizard.invoice_ids): + raise UserError(_('You cannot send an invoice which has no partner assigned.')) invalid_invoices = wizard.invoice_ids.filtered(lambda i: not self.env['snailmail.letter']._is_valid_address(i.partner_id)) wizard.invalid_invoices = len(invalid_invoices) invalid_partner_ids = invalid_invoices.partner_id.ids