[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:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user