[FIX] set_title of page depending of the current action

bzr revid: chs@openerp.com-20120308165225-13thiz9hfrbr88c8
This commit is contained in:
Christophe Simonis 2012-03-08 17:52:25 +01:00
parent 66e1ce8606
commit 6e46e27bce
2 changed files with 19 additions and 2 deletions

View File

@ -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('<span> - <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">%s</a></span>', 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);

View File

@ -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;