summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-04-24 15:55:17 +0200
committerChristophe Simonis <chs@odoo.com>2018-04-24 15:55:17 +0200
commit7fd9dbdd9f8f30424cfb977b83a3c463889bb710 (patch)
treef94e6b3600164922ddfb6a1616ea8a7a621a5f6e /addons/web/static/src/js
parent8d17a2ae557aeddd68dd2fe78b6c052bbcc183c8 (diff)
parentb9ce1affbf55bb81dde718af435e4763bd19c80c (diff)
[MERGE] forward port branch 11.0 up to b9ce1affbf5
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_controller.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/addons/web/static/src/js/views/kanban/kanban_controller.js b/addons/web/static/src/js/views/kanban/kanban_controller.js
index 9c227fba2ac..a0a9f967e1d 100644
--- a/addons/web/static/src/js/views/kanban/kanban_controller.js
+++ b/addons/web/static/src/js/views/kanban/kanban_controller.js
@@ -84,6 +84,16 @@ var KanbanController = BasicController.extend({
return this.renderer.updateRecord(this.model.get(id));
},
/**
+ * @param {number[]} ids
+ * @private
+ * @returns {Deferred}
+ */
+ _resequenceColumns: function (ids) {
+ var state = this.model.get(this.handle, {raw: true});
+ var model = state.fields[state.groupedBy[0]].relation;
+ return this.model.resequence(model, ids, this.handle);
+ },
+ /**
* This method calls the server to ask for a resequence. Note that this
* does not rerender the user interface, because in most case, the
* resequencing operation has already been displayed by the renderer.
@@ -139,6 +149,10 @@ var KanbanController = BasicController.extend({
_onAddColumn: function (event) {
var self = this;
this.model.createGroup(event.data.value, this.handle).then(function () {
+ var state = self.model.get(self.handle, {raw: true});
+ var ids = _.pluck(state.data, 'res_id').filter(_.isNumber);
+ return self._resequenceColumns(ids);
+ }).then(function () {
return self.update({}, {reload: false});
}).then(function () {
self._updateButtons();
@@ -389,9 +403,7 @@ var KanbanController = BasicController.extend({
*/
_onResequenceColumn: function (event) {
var self = this;
- var state = this.model.get(this.handle, {raw: true});
- var model = state.fields[state.groupedBy[0]].relation;
- this.model.resequence(model, event.data.ids, this.handle).then(function () {
+ this._resequenceColumns(event.data.ids).then(function () {
self._updateEnv();
});
},