diff --git a/addons/web/static/src/views/form/form_label.js b/addons/web/static/src/views/form/form_label.js index 408b9241219..ed4c36a3935 100644 --- a/addons/web/static/src/views/form/form_label.js +++ b/addons/web/static/src/views/form/form_label.js @@ -33,7 +33,7 @@ export class FormLabel extends Component { get tooltipHelp() { const field = this.props.record.fields[this.props.fieldName]; - let help = field.help || ""; + let help = this.props.fieldInfo.help || field.help || ""; if (field.company_dependent && session.display_switch_company_menu) { help += (help ? "\n\n" : "") + _t("Values set here are company-specific."); } 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 3485b095451..045738aa365 100644 --- a/addons/web/static/tests/views/form/form_view_tests.js +++ b/addons/web/static/tests/views/form/form_view_tests.js @@ -13014,6 +13014,44 @@ QUnit.module("Views", (hooks) => { ); }); + QUnit.test("help on field is shown without debug mode -- form", async (assert) => { + serverData.models.partner.fields.bar.help = "bar tooltip"; + + patchWithCleanup(browser, { + setTimeout: (fn) => fn(), + clearTimeout: () => { }, + }); + + await makeView({ + type: "form", + resModel: "partner", + serverData, + arch: ` +
`, + }); + + await mouseEnter(target.querySelector(".o_form_label[for=foo_0] sup")); + await nextTick(); + assert.strictEqual( + target.querySelector(".o-tooltip .o-tooltip--help").textContent, + "foo xml tooltip" + ); + + await mouseEnter(target.querySelector(".o_form_label[for=bar_0] sup")); + await nextTick(); + assert.strictEqual( + target.querySelector(".o-tooltip .o-tooltip--help").textContent, + "bar xml tooltip" + ); + }); + QUnit.test("onSave/onDiscard props", async function (assert) { await makeView({ type: "form",