From 3b330abd152202ac866d29fb6ade450fb80771ab Mon Sep 17 00:00:00 2001 From: Jorge Pinna Puissant Date: Thu, 15 Jun 2023 13:35:26 +0000 Subject: [PATCH] [FIX] web: setting compile label correctly - Open Settings; - In the search write : __comp__.props Before this commit, some settings are shown. This occurs because of un error in the compiler, where we add to the search list, the path of the label, and not the label itself. closes odoo/odoo#125739 X-original-commit: 2a4dc724d0d791ea52dc73b79e582c726ece21da Signed-off-by: Aaron Bohy (aab) Signed-off-by: Jorge Pinna Puissant (jpp) --- .../settings_form_view_tests.js | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/addons/web/static/tests/webclient/settings_form_view/settings_form_view_tests.js b/addons/web/static/tests/webclient/settings_form_view/settings_form_view_tests.js index d450afb4faa..b6bed1e193b 100644 --- a/addons/web/static/tests/webclient/settings_form_view/settings_form_view_tests.js +++ b/addons/web/static/tests/webclient/settings_form_view/settings_form_view_tests.js @@ -1495,6 +1495,59 @@ QUnit.module("SettingsFormView", (hooks) => { ); }); + QUnit.test("Settings with createLabelFromField", async function (assert) { + serverData.models["res.config.settings"].fields.baz.string = "Zab"; + + await makeView({ + type: "form", + resModel: "res.config.settings", + serverData, + arch: ` +
+ + + + + + +
`, + }); + + await editSearch(target, "__comp__.props.record"); + await execTimeouts(); + assert.deepEqual( + [...target.querySelectorAll(".o_settings_container .o_setting_box .o_form_label")].map( + (x) => x.textContent + ), + [] + ); + + await editSearch(target, "baz"); + await execTimeouts(); + assert.deepEqual( + [...target.querySelectorAll(".o_settings_container .o_setting_box .o_form_label")].map( + (x) => x.textContent + ), + [] + ); + + await editSearch(target, "zab"); + await execTimeouts(); + assert.strictEqual( + target.querySelector(".highlighter").textContent, + "Zab", + "Zab word highlighted" + ); + assert.deepEqual( + [...target.querySelectorAll(".o_settings_container .o_setting_box .o_form_label")].map( + (x) => x.textContent + ), + ["Zab"] + ); + }); + QUnit.test("standalone field labels with string inside a settings page", async (assert) => { let compiled = undefined; patchWithCleanup(SettingsFormCompiler.prototype, {