From 6e46e27bce00320178111f0f333418aa90c75044 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 8 Mar 2012 17:52:25 +0100 Subject: [PATCH] [FIX] set_title of page depending of the current action bzr revid: chs@openerp.com-20120308165225-13thiz9hfrbr88c8 --- addons/web/static/src/js/chrome.js | 20 ++++++++++++++++++-- addons/web/static/src/js/views.js | 1 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 132cc3b5851..bd86f22bd3c 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1073,6 +1073,18 @@ openerp.web.WebClient = openerp.web.OldWidget.extend(/** @lends openerp.web.WebC this._current_state = null; }, + _get_version_label: function() { + if (this.session.openerp_entreprise) { + return 'OpenERP'; + } else { + return _t("OpenERP - Unsupported/Community Version"); + } + }, + set_title: function(title) { + title = _.str.clean(title); + var sep = _.isEmpty(title) ? '' : ' - '; + document.title = title + sep + this._get_version_label(); + }, start: function() { var self = this; this.$element = $(document.body); @@ -1097,11 +1109,11 @@ openerp.web.WebClient = openerp.web.OldWidget.extend(/** @lends openerp.web.WebC self.action_manager = new openerp.web.ActionManager(self); self.action_manager.appendTo($("#oe_app")); self.bind_hashchange(); - var version_label = _t("OpenERP - Unsupported/Community Version"); if (!self.session.openerp_entreprise) { + var version_label = self._get_version_label(); self.$element.find('.oe_footer_powered').append(_.str.sprintf(' - %s', version_label)); - document.title = version_label; } + self.set_title(); }); }, show_login: function() { @@ -1192,6 +1204,10 @@ openerp.web.WebClient = openerp.web.OldWidget.extend(/** @lends openerp.web.WebC this._current_state = state; }, do_push_state: function(state) { + var title = state.title; + delete state.title; + this.set_title(title); + var url = '#' + $.param(state); this._current_state = _.clone(state); $.bbq.pushState(url); diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index a9979ebf099..9243ad58b7c 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -49,6 +49,7 @@ session.web.ActionManager = session.web.OldWidget.extend({ do_push_state: function(state) { if (this.widget_parent && this.widget_parent.do_push_state) { if (this.inner_action) { + state['title'] = this.inner_action.name; state['model'] = this.inner_action.res_model; if (this.inner_action.id) { state['action_id'] = this.inner_action.id;