[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>
This commit is contained in:
Victor Feyens
2019-10-18 10:25:58 +00:00
committed by fw-bot
parent 86681cd0b4
commit e92d302d2f
2 changed files with 13 additions and 11 deletions
@@ -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();
});
}
},
});
@@ -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) {