From b3b3db6732c2ec11dc4eb8cc61881898184c5643 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Thu, 30 Mar 2023 12:38:04 +0000 Subject: [PATCH] [REF] web: move isM2MGrouped logic from model to list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is only necessary for the list view, no need to add complexity to the model for this. Part of task 3179751 closes odoo/odoo#117309 Signed-off-by: Géry Debongnie --- addons/web/static/src/views/list/list_controller.js | 6 +++++- addons/web/static/src/views/relational_model.js | 7 ------- addons/web/static/tests/views/list_view_tests.js | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) 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: {}, });