diff --git a/addons/web/static/src/views/list/list_controller.js b/addons/web/static/src/views/list/list_controller.js index 34bb9e5bb44..2b0c596a13a 100644 --- a/addons/web/static/src/views/list/list_controller.js +++ b/addons/web/static/src/views/list/list_controller.js @@ -248,7 +248,11 @@ export class ListController extends Component { } getStaticActionMenuItems() { - const isM2MGrouped = this.model.root.isM2MGrouped; + const list = this.model.root; + const isM2MGrouped = list.groupBy.some((groupBy) => { + const fieldName = groupBy.split(":")[0]; + return list.fields[fieldName].type === "many2many"; + }); return { export: { isAvailable: () => this.isExportEnable, diff --git a/addons/web/static/src/views/relational_model.js b/addons/web/static/src/views/relational_model.js index 3371e07def4..4b5cbe031e4 100644 --- a/addons/web/static/src/views/relational_model.js +++ b/addons/web/static/src/views/relational_model.js @@ -1600,13 +1600,6 @@ class DynamicList extends DataPoint { }; } - get isM2MGrouped() { - return this.groupBy.some((groupBy) => { - const fieldName = groupBy.split(":")[0]; - return this.fields[fieldName].type === "many2many"; - }); - } - get selection() { return this.records.filter((r) => r.selected); } diff --git a/addons/web/static/tests/views/list_view_tests.js b/addons/web/static/tests/views/list_view_tests.js index 50dc15ae453..46b30d25c4c 100644 --- a/addons/web/static/tests/views/list_view_tests.js +++ b/addons/web/static/tests/views/list_view_tests.js @@ -3335,7 +3335,7 @@ QUnit.module("Views", (hooks) => { serverData, arch: '', groupBy: ["date:year"], - // keep the actionMenus, it is relevant as it calls isM2MGrouped which crashes if we + // keep the actionMenus, it is relevant as it computes isM2MGrouped which crashes if we // don't correctly extract the fieldName/granularity from the groupBy actionMenus: {}, });