summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorVictor Feyens <vfe@odoo.com>2019-10-17 11:40:16 +0000
committerfw-bot <otis@odoo.com>2019-10-18 10:25:58 +0000
commite92d302d2fb4e2f2483345b8463d791bac702c10 (patch)
treea34c46c38abfea81ea44b26a2f1e2a778518c521 /addons/web/static
parent86681cd0b46a43c2b16177e903afde6c5cea1221 (diff)
[FIX] web: kanban archive / unarchive all
Since https://github.com/odoo/odoo/commit/f896afcc8a54eae3efcdf034e3fd256942f7fa78, (un)archive all triggered toggle_active on all records, which doesn't consider whether we want to archive/unarchive and on which records... Closes #38903 closes odoo/odoo#39022 X-original-commit: 2c89cb0c92fc593e2e323e322c9228de268f64cf Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Diffstat (limited to 'addons/web/static')
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_controller.js16
-rw-r--r--addons/web/static/tests/views/kanban_tests.js8
2 files changed, 13 insertions, 11 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 03d84bc5c8c..c51c11ebe81 100644
--- a/addons/web/static/src/js/views/kanban/kanban_controller.js
+++ b/addons/web/static/src/js/views/kanban/kanban_controller.js
@@ -523,16 +523,18 @@ var KanbanController = BasicController.extend({
*/
_onToggleActiveRecords: function (ev) {
var self = this;
+ var archive = ev.data.archive;
var column = ev.target;
var recordIds = _.pluck(column.records, 'db_id');
if (recordIds.length) {
- this.model
- .toggleActive(recordIds, column.db_id)
- .then(function (dbID) {
- var data = self.model.get(dbID);
- self.renderer.updateColumn(dbID, data);
- self._updateEnv();
- });
+ var prom = archive ?
+ this.model.actionArchive(recordIds, column.db_id) :
+ this.model.actionUnarchive(recordIds, column.db_id);
+ prom.then(function (dbID) {
+ var data = self.model.get(dbID);
+ self.renderer.updateColumn(dbID, data);
+ self._updateEnv();
+ });
}
},
});
diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js
index 03c492245b5..7e5fd94d062 100644
--- a/addons/web/static/tests/views/kanban_tests.js
+++ b/addons/web/static/tests/views/kanban_tests.js
@@ -178,7 +178,7 @@ QUnit.module('Views', {
'</t></templates></kanban>',
groupBy: ['bar'],
mockRPC: function (route, args) {
- if (route === '/web/dataset/call_kw/partner/toggle_active') {
+ if (route === '/web/dataset/call_kw/partner/action_archive') {
var partnerIDS = args.args[0];
var records = this.data.partner.records
_.each(partnerIDS, function(partnerID) {
@@ -235,7 +235,7 @@ QUnit.module('Views', {
'</t></templates></kanban>',
groupBy: ['bar'],
mockRPC: function (route, args) {
- if (route === '/web/dataset/call_kw/partner/toggle_active') {
+ if (route === '/web/dataset/call_kw/partner/action_archive') {
var partnerIDS = args.args[0];
var records = this.data.partner.records
_.each(partnerIDS, function(partnerID) {
@@ -4939,7 +4939,7 @@ QUnit.module('Views', {
'</kanban>',
groupBy: ['bar'],
mockRPC: function (route, args) {
- if (route === '/web/dataset/call_kw/partner/toggle_active') {
+ if (route === '/web/dataset/call_kw/partner/action_archive') {
var partnerIDS = args.args[0];
var records = this.data.partner.records
_.each(partnerIDS, function(partnerID) {
@@ -4996,7 +4996,7 @@ QUnit.module('Views', {
'</kanban>',
groupBy: ['bar'],
mockRPC: function (route, args) {
- if (route === '/web/dataset/call_kw/partner/toggle_active') {
+ if (route === '/web/dataset/call_kw/partner/action_archive') {
var partnerIDS = args.args[0];
var records = this.data.partner.records
_.each(partnerIDS, function(partnerID) {