summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/chrome/action_manager_act_window.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-05-31 14:37:38 +0200
committerChristophe Simonis <chs@odoo.com>2019-05-31 14:37:38 +0200
commitcfe0523714b4244b080a268c0697f270f0b19e5b (patch)
treeec6ea86aa32afd66ff4934ee5e745652777887a3 /addons/web/static/src/js/chrome/action_manager_act_window.js
parente5b19bd5aa47fdb2da547cb75de9d33a20e1e180 (diff)
parent8f21148e1a8eaae3bc09ec54377becb2361e7834 (diff)
[MERGE] forward port branch 12.0 up to 8f21148e1a8
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.js20
1 files changed, 16 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 d36ec9371de..91b3cc7248c 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,10 @@ ActionManager.include({
* @param {string} [state.view_type]
*/
loadState: function (state) {
+ var callersArguments = arguments;
+ var self = this;
var action;
+ var def;
var options = {
clear_breadcrumbs: true,
pushState: false,
@@ -113,11 +116,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 $.when(def).then(function () {
+ if (action) {
+ return self.doAction(action, options);
+ }
+ return self._super.apply(self, callersArguments);
+ });
},
//--------------------------------------------------------------------------