From 33f28d3d6bc61dcb5dea33913925aae49358db27 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Tue, 15 May 2012 17:34:23 +0200 Subject: [PATCH] [FIX] #menu_id loading, move client_actions registry bzr revid: al@openerp.com-20120515153423-bj6vgiuwq26cyq5o --- addons/web/static/src/js/chrome.js | 4 +++- addons/web/static/src/js/coresetup.js | 27 +++++++++++++++++++++++++++ addons/web/static/src/js/views.js | 27 --------------------------- 3 files changed, 30 insertions(+), 28 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index ef75bbff6b1..b71a504b52f 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -966,7 +966,9 @@ instance.web.WebClient = instance.web.Widget.extend({ if (!_.isEqual(this._current_state, state)) { if(state.action_id === undefined && state.menu_id) { self.menu.has_been_loaded.then(function() { - self.menu.menu_click(state.menu_id); + self.menu.do_reload().then(function() { + self.menu.menu_click(state.menu_id) + }); }); } else { this.action_manager.do_load_state(state, !!this._current_state); diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js index 8e7b5d4f75d..5a8a2b50722 100644 --- a/addons/web/static/src/js/coresetup.js +++ b/addons/web/static/src/js/coresetup.js @@ -579,6 +579,33 @@ $.async_when = function() { return old_async_when.apply(this, arguments); }; +/** + * Registry for all the client actions key: tag value: widget + */ +instance.web.client_actions = new instance.web.Registry(); + +/** + * Client action to reload the whole interface. + * If params has an entry 'menu_id', it opens the given menu entry. + */ +instance.web.client_actions.add("reload", "instance.web.Reload"); + +instance.web.Reload = instance.web.Widget.extend({ + init: function(parent, params) { + this._super(parent); + this.menu_id = (params && params.menu_id) || false; + }, + start: function() { + if (this.menu_id) { + // open the given menu id + var url_without_fragment = window.location.toString().split("#", 1)[0]; + window.location = url_without_fragment + "#menu_id=" + this.menu_id; + } else { + window.location.reload(); + } + } +}); + }; // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 941c1f8a207..de2ff53a71a 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -1261,33 +1261,6 @@ instance.web.str_to_xml = function(s) { return xDoc; } -/** - * Registry for all the client actions key: tag value: widget - */ -instance.web.client_actions = new instance.web.Registry(); - -/** - * Client action to reload the whole interface. - * If params has an entry 'menu_id', it opens the given menu entry. - */ -instance.web.client_actions.add("reload", "instance.web.Reload"); - -instance.web.Reload = instance.web.Widget.extend({ - init: function(parent, params) { - this._super(parent); - this.menu_id = (params && params.menu_id) || false; - }, - start: function() { - if (this.menu_id) { - // open the given menu id - var url_without_fragment = window.location.toString().split("#", 1)[0]; - window.location = url_without_fragment + "#menu_id=" + this.menu_id; - } else { - window.location.reload(); - } - } -}); - /** * Registry for all the main views */