From b63e22f50ea8cce8deaa7dcc0d1c5649d2d2880b Mon Sep 17 00:00:00 2001 From: Jigar Patel Date: Wed, 19 Jul 2017 14:18:12 +0530 Subject: [FIX] web: Groupby not working on Pivot and Graph view The groupby property was wrongly set in some cases: if a graph/pivot view is defined as a groupby on field F, but there is another groupby key G in the context, it will take F instead of G (at initial load). --- addons/web/static/src/js/views/graph/graph_model.js | 9 +++------ addons/web/static/src/js/views/pivot/pivot_model.js | 5 +++-- 2 files changed, 6 insertions(+), 8 deletions(-) (limited to 'addons/web/static/src/js/views') diff --git a/addons/web/static/src/js/views/graph/graph_model.js b/addons/web/static/src/js/views/graph/graph_model.js index 5948e07a54f..8a7f5da6d5d 100644 --- a/addons/web/static/src/js/views/graph/graph_model.js +++ b/addons/web/static/src/js/views/graph/graph_model.js @@ -60,12 +60,13 @@ return AbstractModel.extend({ this.modelName = params.modelName; this.chart = { data: [], - groupedBy: params.groupBys, + groupedBy: params.groupedBy.length ? params.groupedBy : params.groupBys, measure: params.measure, mode: params.mode, domain: params.domain, context: params.context, }; + this.defaultGroupedBy = params.groupedBy; return this._loadGraph(); }, /** @@ -88,11 +89,7 @@ return AbstractModel.extend({ this.chart.domain = params.domain; } if ('groupBy' in params) { - if (!params.groupBy.length) { - this.chart.groupedBy = this.initialGroupBys; - } else { - this.chart.groupedBy = params.groupBy; - } + this.chart.groupedBy = params.groupBy.length ? params.groupBy : this.defaultGroupedBy; } if ('measure' in params) { this.chart.measure = params.measure; diff --git a/addons/web/static/src/js/views/pivot/pivot_model.js b/addons/web/static/src/js/views/pivot/pivot_model.js index 49c00663d47..d74af7fee22 100644 --- a/addons/web/static/src/js/views/pivot/pivot_model.js +++ b/addons/web/static/src/js/views/pivot/pivot_model.js @@ -229,11 +229,12 @@ var PivotModel = AbstractModel.extend({ this.data = { domain: params.domain, context: _.extend({}, session.user_context, params.context), - groupedBy: params.rowGroupBys, + groupedBy: params.groupedBy, colGroupBys: params.colGroupBys, measures: params.measures, sorted_column: {}, }; + this.defaultGroupedBy = params.groupedBy; return this._loadData(); }, /** @@ -250,7 +251,7 @@ var PivotModel = AbstractModel.extend({ this.data.domain = this.initialDomain; } if ('groupBy' in params) { - this.data.groupedBy = params.groupBy; + this.data.groupedBy = params.groupBy.length ? params.groupBy : this.defaultGroupedBy; } if (!this.data.has_data) { return this._loadData(); -- cgit v1.2.3