From 7964799a8aec157d70e027b9b92e76305d3379ac Mon Sep 17 00:00:00 2001 From: Manuel Calero Date: Tue, 25 Feb 2020 11:36:40 +0100 Subject: [PATCH] [MIG] web_ir_actions_act_multi: Migration to 13.0 --- .../readme/CONTRIBUTORS.rst | 1 + .../static/description/index.html | 6 ++-- .../static/src/js/web_ir_actions_act_multi.js | 29 ++++++++----------- .../views/web_ir_actions_act_multi.xml | 1 - 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/web_ir_actions_act_multi/readme/CONTRIBUTORS.rst b/web_ir_actions_act_multi/readme/CONTRIBUTORS.rst index 0bb36955d..8d2303eb5 100644 --- a/web_ir_actions_act_multi/readme/CONTRIBUTORS.rst +++ b/web_ir_actions_act_multi/readme/CONTRIBUTORS.rst @@ -1,3 +1,4 @@ * Petar Najman * Mladen Meseldzija * Alexey Pelykh +* Manuel Calero - Tecnativa diff --git a/web_ir_actions_act_multi/static/description/index.html b/web_ir_actions_act_multi/static/description/index.html index 22eb24b4d..20c46827d 100644 --- a/web_ir_actions_act_multi/static/description/index.html +++ b/web_ir_actions_act_multi/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: LGPL-3 OCA/web Translate me on Weblate Try me on Runbot

+

Beta License: LGPL-3 OCA/web Translate me on Weblate Try me on Runbot

This module provides a way to trigger more than one action on ActionManager

Table of contents

@@ -403,7 +403,7 @@ ul.auto-toc {

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -430,7 +430,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

-

This module is part of the OCA/web project on GitHub.

+

This module is part of the OCA/web project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/web_ir_actions_act_multi/static/src/js/web_ir_actions_act_multi.js b/web_ir_actions_act_multi/static/src/js/web_ir_actions_act_multi.js index cadea60ec..5905ebca0 100644 --- a/web_ir_actions_act_multi/static/src/js/web_ir_actions_act_multi.js +++ b/web_ir_actions_act_multi/static/src/js/web_ir_actions_act_multi.js @@ -1,5 +1,6 @@ // Copyright 2017 - 2018 Modoolar // Copyright 2018 Brainbean Apps +// Copyright 2020 Manuel Calero - Tecnativa // License LGPLv3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html). odoo.define("web_ir_actions_act_multi.ir_actions_act_multi", function(require) { @@ -16,7 +17,6 @@ odoo.define("web_ir_actions_act_multi.ir_actions_act_multi", function(require) { if (action.type === "ir.actions.act_multi") { return this._executeMultiAction(action, options); } - return this._super.apply(this, arguments); }, @@ -24,25 +24,20 @@ odoo.define("web_ir_actions_act_multi.ir_actions_act_multi", function(require) { * Handle 'ir.actions.act_multi' action * @param {Object} action see _handleAction() parameters * @param {Object} options see _handleAction() parameters - * @param {integer|undefined} index Index of action being handled * @returns {$.Promise} */ - _executeMultiAction: function(action, options, index) { - var self = this; + _executeMultiAction: function(action, options) { + const self = this; - if (index === undefined) { - index = 0; // eslint-disable-line no-param-reassign - } - - if (index === action.actions.length - 1) { - return this._handleAction(action.actions[index], options); - } else if (index >= action.actions.length) { - return $.when(); - } - - return this._handleAction(action.actions[index], options).then(function() { - return self._executeMultiAction(action, options, index + 1); - }); + return action.actions + .map(item => { + return () => { + return self._handleAction(item, options); + }; + }) + .reduce((prev, cur) => { + return prev.then(cur); + }, Promise.resolve()); }, }); }); diff --git a/web_ir_actions_act_multi/views/web_ir_actions_act_multi.xml b/web_ir_actions_act_multi/views/web_ir_actions_act_multi.xml index 7c45bcbc4..ada8cb618 100644 --- a/web_ir_actions_act_multi/views/web_ir_actions_act_multi.xml +++ b/web_ir_actions_act_multi/views/web_ir_actions_act_multi.xml @@ -10,7 +10,6 @@ inherit_id="web.assets_backend" > -