diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-06-06 11:54:35 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-06-06 11:54:35 +0200 |
| commit | 71a50a2214748fec413c5a0f042d0e7172ae6ea9 (patch) | |
| tree | 2e9ee11551350e23923390d9c53baf630b6ed834 /addons/web/static/src/js/chrome/action_manager_act_window.js | |
| parent | a7621137cb0d75ec545152d5e1d413c9d3548e45 (diff) | |
| parent | 409679866b2ee8352a8cb27460e7332563526924 (diff) | |
[MERGE] forward port branch saas-12.3 up to 409679866b2
Diffstat (limited to 'addons/web/static/src/js/chrome/action_manager_act_window.js')
| -rw-r--r-- | addons/web/static/src/js/chrome/action_manager_act_window.js | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/addons/web/static/src/js/chrome/action_manager_act_window.js b/addons/web/static/src/js/chrome/action_manager_act_window.js index f694e2ca1b0..ee3ce15bdd2 100644 --- a/addons/web/static/src/js/chrome/action_manager_act_window.js +++ b/addons/web/static/src/js/chrome/action_manager_act_window.js @@ -58,7 +58,11 @@ ActionManager.include({ * @param {string} [state.view_type] */ loadState: function (state) { + var callersArguments = arguments; + var _super = this._super.bind(this); + var self = this; var action; + var def; var options = { clear_breadcrumbs: true, pushState: false, @@ -113,11 +117,20 @@ ActionManager.include({ action = lastAction; options.viewType = state.view_type; } + } else if (state.sa) { + def = this._rpc({ + route: '/web/session/get_session_action', + params: {key: state.sa}, + }).then(function (sessionAction) { + action = sessionAction; + }); } - if (action) { - return this.doAction(action, options); - } - return this._super.apply(this, arguments); + return Promise.all([def]).then(function () { + if (action) { + return self.doAction(action, options); + } + return _super.apply(self, callersArguments); + }); }, //-------------------------------------------------------------------------- |
