diff options
| author | Aaron Bohy <aab@odoo.com> | 2018-03-15 11:18:57 +0100 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2018-03-16 08:08:38 +0100 |
| commit | 75802f9afce0d2bc8825608732d04804b8e7f4e6 (patch) | |
| tree | b49c24a303c514952093dffa05892a69cb8e8aa2 /addons/web/static/src/js/chrome/action_manager.js | |
| parent | b574104ebc9c436f93fa7444469f753562108df0 (diff) | |
[FIX] web: ActionManager: concurrent window actions
This rev. strengthens the handling of concurrent actions of type
'ir.actions.act_window' in the ActionManager. In particular, the
two following cases are now handled:
- execute an action A, its 'load_views' RPC takes a while, during
that time, execute an action B: A can be dropped, meaning that
it doesn't need to fetch its data, and thus it should not be
appended to the DOM (nor appear in the breadcrumbs) ;
- execute an action A, its 'read' or 'search_read' RPC takes a
while, during that time, execute an action B: A can be dropped
and should not be appended to the DOM (nor appear in the
breadcrumbs).
Diffstat (limited to 'addons/web/static/src/js/chrome/action_manager.js')
| -rw-r--r-- | addons/web/static/src/js/chrome/action_manager.js | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/addons/web/static/src/js/chrome/action_manager.js b/addons/web/static/src/js/chrome/action_manager.js index 19750915b0b..b8d66bed42d 100644 --- a/addons/web/static/src/js/chrome/action_manager.js +++ b/addons/web/static/src/js/chrome/action_manager.js @@ -61,7 +61,6 @@ var ActionManager = Widget.extend({ // dialog (i.e. coming from an action with target='new') this.currentDialogController = null; }, - /** * @override */ @@ -144,7 +143,7 @@ var ActionManager = Widget.extend({ * loaded and appended to the DOM ; rejected if the action can't be * executed (e.g. if doAction has been called to execute another action * before this one was complete). - */ + */ doAction: function (action, options) { var self = this; options = _.defaults({}, options, { @@ -907,13 +906,13 @@ var ActionManager = Widget.extend({ } }, /** - * Intercepts and triggers a redirection on a link - * - * @private - * @param {OdooEvent} ev - * @param {integer} ev.data.res_id - * @param {string} ev.data.res_model - */ + * Intercepts and triggers a redirection on a link. + * + * @private + * @param {OdooEvent} ev + * @param {integer} ev.data.res_id + * @param {string} ev.data.res_model + */ _onRedirect: function (ev) { this.do_action({ type:'ir.actions.act_window', |
