[FIX] snailmail_account: prevent error on computing warning message

Record `res.partner` may have empty name if it's an address record for a regular
partner [1]. This may lead to error `sequence item 0: expected str instance,
bool found` on computing `display_messages`.

Fix it by using `display_name` [2]

[1]: https://github.com/odoo/odoo/blob/c3209aec9741cda8597525add88b0a932fb7532a/odoo/addons/base/models/res_partner.py#L295
[2]: https://github.com/odoo/odoo/blob/b2f648fb3e3632e51123336850fd6ea1280925fe/odoo/addons/base/models/res_partner.py#L804-L833

https://online.sentry.io/issues/4183834755

closes odoo/odoo#122554

X-original-commit: 50ffa53147b496a0342cf3d8242a77a886034673
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
Signed-off-by: Ivan Elizaryev (iel) <iel@odoo.com>
This commit is contained in:
Ivan Rasputin
2023-05-26 16:15:53 +02:00
parent d10aab060f
commit 6a4d7107ac
@@ -36,7 +36,7 @@ class AccountMoveSend(models.Model):
.filtered(lambda x: not self.env['snailmail.letter']._is_valid_address(x))
if wrong_address_partners:
display_messages.append(_("The following customers don't have a valid address: "))
display_messages.append(", ".join(wrong_address_partners.mapped('name')))
display_messages.append(", ".join(wrong_address_partners.mapped('display_name')))
wizard.send_by_post_warning_message = "".join(display_messages) if display_messages else None
# -------------------------------------------------------------------------