[FIX] snailmail_account: Fix traceback
When clicking on send&print on an account move without partner, we are getting a traceback because of the address verification. Instead, check if any such move is selected and return a user error. Task id #2655365 closes odoo/odoo#77385 X-original-commit: dfba014189c35f9df0140c57effe9ea45637e0ec Signed-off-by: Florian Gilbert <FlorianGilbert@users.noreply.github.com>
This commit is contained in:
@@ -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 ""
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user