summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorJulien Mougenot <jum@odoo.com>2020-07-06 09:02:03 +0000
committerJulien Mougenot <jum@odoo.com>2020-07-27 08:03:18 +0000
commita7657fbf847e2c1aa5104237cb2c4ddee79318ab (patch)
tree54116ce8cfb6fc3cae71645698d68a8c85d31369 /addons
parent2442892ec171a89d12c2c52e382a9205eb18541a (diff)
[IMP] web: Drop widget support in search view
Until now the "widget" attribute used in the search view was meant to force the type of a field regardless of its definition. This system was implemented quite a long time ago and is now useful in only one case: searching for "reference" fields (we want them considered as char fields else it is impossible to search on them). This is why this commit completely removes the "widget" attribute support in search views while consistently casting the "reference" fields as "char" fields in the search bar. Task 2061795
Diffstat (limited to 'addons')
-rw-r--r--addons/web/static/src/js/control_panel/control_panel_model_extension.js3
-rw-r--r--addons/web/static/src/js/control_panel/search_bar.js2
-rw-r--r--addons/web/static/tests/control_panel/search_bar_tests.js4
3 files changed, 3 insertions, 6 deletions
diff --git a/addons/web/static/src/js/control_panel/control_panel_model_extension.js b/addons/web/static/src/js/control_panel/control_panel_model_extension.js
index ef443fbb70a..2b12ca90802 100644
--- a/addons/web/static/src/js/control_panel/control_panel_model_extension.js
+++ b/addons/web/static/src/js/control_panel/control_panel_model_extension.js
@@ -916,9 +916,6 @@ odoo.define("web/static/src/js/control_panel/control_panel_model_extension.js",
filter.defaultRank = -10;
filter.defaultAutocompleteValue = attrs.defaultAutocompleteValue;
}
- if (attrs.widget) {
- filter.widget = attrs.widget;
- }
break;
}
}
diff --git a/addons/web/static/src/js/control_panel/search_bar.js b/addons/web/static/src/js/control_panel/search_bar.js
index 22f6ee6a60b..0dc8599c4ab 100644
--- a/addons/web/static/src/js/control_panel/search_bar.js
+++ b/addons/web/static/src/js/control_panel/search_bar.js
@@ -93,7 +93,7 @@ odoo.define('web.SearchBar', function (require) {
*/
_createSource(filter) {
const field = this.props.fields[filter.fieldName];
- const type = filter.widget || field.type;
+ const type = field.type === "reference" ? "char" : field.type;
const source = {
active: true,
description: filter.description,
diff --git a/addons/web/static/tests/control_panel/search_bar_tests.js b/addons/web/static/tests/control_panel/search_bar_tests.js
index b7f5fc8956d..655464cac1f 100644
--- a/addons/web/static/tests/control_panel/search_bar_tests.js
+++ b/addons/web/static/tests/control_panel/search_bar_tests.js
@@ -538,7 +538,7 @@ odoo.define('web.search_bar_tests', function (require) {
actionManager.destroy();
});
- QUnit.test("widgets are supported in search view", async function (assert) {
+ QUnit.test("reference fields are supported in search view", async function (assert) {
assert.expect(7);
this.data.partner.fields.ref = { type: 'reference', string: "Reference" };
@@ -548,7 +548,7 @@ odoo.define('web.search_bar_tests', function (require) {
const archs = Object.assign({}, this.archs, {
'partner,false,search': `
<search>
- <field name="ref" widget="char"/>
+ <field name="ref"/>
</search>`,
});
const actionManager = await createActionManager({