diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-09-13 10:27:55 +0200 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-09-13 10:27:55 +0200 |
| commit | ef5f1ab9bcecbec173f98a1a5c5ee9c0e78c6fb7 (patch) | |
| tree | 57abc08da9a6b3fa1c8036caa3ed1c6b428905da /addons/web/static/src | |
| parent | a6b981eca52e04678b74acedeba21c2f4c2c5155 (diff) | |
[fix] second attempt to correct bug in header
bzr revid: nicolas.vanhoren@openerp.com-20110913082755-e7hlwmwcq5t4asx1
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/chrome.js | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index c12d157a668..a04456cfaa5 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -581,24 +581,29 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * this._super(parent); this.qs = "?" + jQuery.param.querystring(); this.$content = $(); + console.debug("initializing header with id", this.element_id); + this.update_promise = $.Deferred().resolve(); }, start: function() { this._super(); }, do_update: function () { var self = this; - this.$content.remove(); - if (! this.session.uid) - return; - var func = new openerp.web.Model(self.session, "res.users").get_func("read"); - func(self.session.uid, ["name", "company_id"]).then(function(res) { - self.$content = $(QWeb.render("Header-content", {widget: self, user: res})); - self.$content.appendTo(self.$element); - self.$element.find(".logout").click(self.on_logout); - self.$element.find("a.preferences").click(self.on_preferences); - self.$element.find(".about").click(self.on_about); - self.shortcut_load(); - }); + var fct = function() { + self.$content.remove(); + if (!self.session.uid) + return; + var func = new openerp.web.Model(self.session, "res.users").get_func("read"); + return func(self.session.uid, ["name", "company_id"]).pipe(function(res) { + self.$content = $(QWeb.render("Header-content", {widget: self, user: res})); + self.$content.appendTo(self.$element); + self.$element.find(".logout").click(self.on_logout); + self.$element.find("a.preferences").click(self.on_preferences); + self.$element.find(".about").click(self.on_about); + return self.shortcut_load(); + }); + }; + this.update_promise = this.update_promise.pipe(fct, fct); }, on_about: function() { var self = this; |
