diff --git a/addons/web/static/src/search/search_model.js b/addons/web/static/src/search/search_model.js index 6007b95b831..3396494808f 100644 --- a/addons/web/static/src/search/search_model.js +++ b/addons/web/static/src/search/search_model.js @@ -485,6 +485,9 @@ export class SearchModel extends EventBus { * @returns {string[]} */ get groupBy() { + if (!this.searchMenuTypes.has("groupBy")) { + return []; + } if (!this._groupBy) { this._groupBy = this._getGroupBy(); } diff --git a/addons/web/static/tests/views/kanban_view_tests.js b/addons/web/static/tests/views/kanban_view_tests.js index 52476d31542..af8e5872f31 100644 --- a/addons/web/static/tests/views/kanban_view_tests.js +++ b/addons/web/static/tests/views/kanban_view_tests.js @@ -18,6 +18,7 @@ import { getPagerLimit, getPagerValue, pagerNext, + toggleFilterMenu, validateSearch, } from "@web/../tests/search/helpers"; import { makeView, setupViewRegistries } from "@web/../tests/views/helpers"; @@ -4306,12 +4307,6 @@ QUnit.module("Views", (hooks) => { QUnit.test("kanban view not groupable", async (assert) => { patchWithCleanup(kanbanView, { searchMenuTypes: ["filter", "favorite"] }); - serverData.views["partner,false,search"] = ` - - - - `; - await makeView({ type: "kanban", resModel: "partner", @@ -4326,6 +4321,12 @@ QUnit.module("Views", (hooks) => { `, + searchViewArch: ` + + + + + `, async mockRPC(route, { method }) { if (method === "web_read_group") { throw new Error("Should not do a read_group RPC"); @@ -4337,6 +4338,10 @@ QUnit.module("Views", (hooks) => { assert.doesNotHaveClass(target.querySelector(".o_kanban_renderer"), "o_kanban_grouped"); assert.containsNone(target, ".o_control_panel div.o_search_options div.o_group_by_menu"); assert.deepEqual(getFacetTexts(target), []); + + // validate presence of the search arch info + await toggleFilterMenu(target); + assert.containsOnce(target, ".o_filter_menu .o_menu_item"); }); QUnit.test("kanban view with create=False", async (assert) => {