diff --git a/addons/web/static/src/views/form/form_controller.js b/addons/web/static/src/views/form/form_controller.js index d11608a67a0..97f79d9466b 100644 --- a/addons/web/static/src/views/form/form_controller.js +++ b/addons/web/static/src/views/form/form_controller.js @@ -333,7 +333,7 @@ export class FormController extends Component { } displayName() { - return this.model.root.data.display_name || _t("New"); + return this.model.root.data.display_name || (this.model.root.isNew && _t("New")) || ""; } async onPagerUpdate({ offset, resIds }) { diff --git a/addons/web/static/tests/views/form/form_view_tests.js b/addons/web/static/tests/views/form/form_view_tests.js index 172c5700122..3485b095451 100644 --- a/addons/web/static/tests/views/form/form_view_tests.js +++ b/addons/web/static/tests/views/form/form_view_tests.js @@ -14212,4 +14212,16 @@ QUnit.module("Views", (hooks) => { assert.verifySteps(["web_read", "web_save"]); } ); + + QUnit.test("existing record with falsy display_name", async function (assert) { + serverData.models.partner.records[0].display_name = ""; + await makeView({ + type: "form", + resModel: "partner", + serverData, + arch: `
`, + resId: 1, + }); + assert.strictEqual(target.querySelector(".o_breadcrumb").innerText, "Unnamed"); + }); });