Skip to content
Snippets Groups Projects
Commit 851da9ef authored by Solan Delvenne (sode)'s avatar Solan Delvenne (sode)
Browse files

[FIX] snailmail: Fix an error with invoice address


If an user tries sending a invoice using an invoice address and a
delivery address through snailmail, it would result in a traceback.
This is due to the invoice address record not having a name.

closes odoo/odoo#114171

X-original-commit: eceb23b1
Signed-off-by: default avatarFlorian Daloze (fda) <fda@odoo.com>
Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
parent 5c445bc1
No related branches found
No related tags found
No related merge requests found
......@@ -216,6 +216,14 @@ class SnailmailLetter(models.Model):
batch = len(self) > 1
for letter in self:
recipient_name = letter.partner_id.name or letter.partner_id.parent_id and letter.partner_id.parent_id.name
if not recipient_name:
letter.write({
'info_msg': _('Invalid recipient name.'),
'state': 'error',
'error_code': 'MISSING_REQUIRED_FIELDS'
})
continue
document = {
# generic informations to send
'letter_id': letter.id,
......@@ -223,7 +231,7 @@ class SnailmailLetter(models.Model):
'res_id': letter.res_id,
'contact_address': letter.partner_id.with_context(snailmail_layout=True, show_address=True).name_get()[0][1],
'address': {
'name': letter.partner_id.name,
'name': recipient_name,
'street': letter.partner_id.street,
'street2': letter.partner_id.street2,
'zip': letter.partner_id.zip,
......@@ -435,7 +443,9 @@ class SnailmailLetter(models.Model):
return all(record[key] for key in required_keys)
def _append_cover_page(self, invoice_bin: bytes):
address = self.partner_id.with_context(show_address=True, lang='en_US')._get_name().replace('\n', '<br/>')
address_split = self.partner_id.with_context(show_address=True, lang='en_US')._get_name().split('\n')
address_split[0] = self.partner_id.name or self.partner_id.parent_id and self.partner_id.parent_id.name or address_split[0]
address = '<br/>'.join(address_split)
address_x = 118 * mm
address_y = 60 * mm
frame_width = 85.5 * mm
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment