diff --git a/odoo/addons/base/models/res_partner.py b/odoo/addons/base/models/res_partner.py index 8529cd256df..32a1faf2030 100644 --- a/odoo/addons/base/models/res_partner.py +++ b/odoo/addons/base/models/res_partner.py @@ -275,8 +275,8 @@ class Partner(models.Model): @api.depends('is_company', 'name', 'parent_id.display_name', 'type', 'company_name') def _compute_display_name(self): - diff = dict(show_address=None, show_address_only=None, show_email=None, html_format=None, show_vat=None) - names = dict(self.with_context(**diff).name_get()) + # retrieve name_get() without any fancy feature + names = dict(self.with_context({}).name_get()) for partner in self: partner.display_name = names.get(partner.id) diff --git a/odoo/addons/base/tests/test_res_partner.py b/odoo/addons/base/tests/test_res_partner.py index a79942da620..eb3a4f156a4 100644 --- a/odoo/addons/base/tests/test_res_partner.py +++ b/odoo/addons/base/tests/test_res_partner.py @@ -146,4 +146,8 @@ class TestPartner(TransactionCase): partner_merge_wizard = self.env['base.partner.merge.automatic.wizard'].with_context( {'partner_show_db_id': True, 'default_dst_partner_id': test_partner}).new() - self.assertEqual(partner_merge_wizard.dst_partner_id.display_name, expected_partner_name, "'Destination Contact' name should contain db ID in brackets") + self.assertEqual( + partner_merge_wizard.dst_partner_id.name_get(), + [(test_partner.id, expected_partner_name)], + "'Destination Contact' name should contain db ID in brackets" + ) diff --git a/odoo/models.py b/odoo/models.py index 451836f362c..f11bec4dbbf 100644 --- a/odoo/models.py +++ b/odoo/models.py @@ -1832,13 +1832,18 @@ class BaseModel(metaclass=MetaModel): record.display_name = names.get(record.id, False) def name_get(self): - """ name_get() -> [(id, name), ...] + """Returns a textual representation for the records in ``self``, with + one item output per input record, in the same order. - Returns a textual representation for the records in ``self``. - By default this is the value of the ``display_name`` field. + .. warning:: + + Although :meth:`~.name_get` can use context data for richer + contextual formatting, as it is the default implementation for + :attr:`~.display_name` it is important that it resets to the + "default" behaviour if the context keys are empty / missing. :return: list of pairs ``(id, text_repr)`` for each records - :rtype: list(tuple) + :rtype: list[(int, str)] """ result = [] name = self._rec_name