diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2013-02-27 12:31:32 +0100 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2013-02-27 12:31:32 +0100 |
| commit | 5a9bf08f46773effb887be8bdda0c328a65b7de8 (patch) | |
| tree | 2302239f35fbbe8f0e815f521a8e69a4c1a53bd6 /addons/web/static/src | |
| parent | e141ed8546060b08c292248b43c1662b7e01af8d (diff) | |
[FIX] lot of potential bugs, mainly due to quickly clicking on menu items
bzr revid: nicolas.vanhoren@openerp.com-20130227113132-m2kr9slpxp1pogaz
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/chrome.js | 6 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 12 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_list.js | 4 |
3 files changed, 11 insertions, 11 deletions
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 05ca224eb14..6b16204932b 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1032,7 +1032,7 @@ instance.web.UserMenu = instance.web.Widget.extend({ if (!self.session.uid) return; var func = new instance.web.Model("res.users").get_func("read"); - return func(self.session.uid, ["name", "company_id"]).then(function(res) { + return self.alive(func(self.session.uid, ["name", "company_id"])).then(function(res) { var topbar_name = res.name; if(instance.session.debug) topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db); @@ -1226,7 +1226,7 @@ instance.web.WebClient = instance.web.Client.extend({ }, logo_edit: function(ev) { var self = this; - new instance.web.Model("res.users").get_func("read")(this.session.uid, ["company_id"]).then(function(res) { + new self.alive(instance.web.Model("res.users").get_func("read")(this.session.uid, ["company_id"])).then(function(res) { self.rpc("/web/action/load", { action_id: "base.action_res_company_form" }).done(function(result) { result.res_id = res['company_id'][0]; result.target = "new"; @@ -1247,7 +1247,7 @@ instance.web.WebClient = instance.web.Client.extend({ }, check_timezone: function() { var self = this; - return new instance.web.Model('res.users').call('read', [[this.session.uid], ['tz_offset']]).then(function(result) { + return self.alive(new instance.web.Model('res.users').call('read', [[this.session.uid], ['tz_offset']])).then(function(result) { var user_offset = result[0]['tz_offset']; var offset = -(new Date().getTimezoneOffset()); // _.str.sprintf()'s zero front padding is buggy with signed decimals, so doing it manually diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index a6876493f8a..7ebc7a6b2ef 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -514,8 +514,8 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM // In case of a o2m virtual id, we should pass an empty ids list ids.push(self.datarecord.id); } - def = new instance.web.Model(self.dataset.model).call( - change_spec.method, [ids].concat(change_spec.args)); + def = self.alive(new instance.web.Model(self.dataset.model).call( + change_spec.method, [ids].concat(change_spec.args))); } else { def = $.when({}); } @@ -533,9 +533,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM var condition = fieldname + '=' + value_; if (value_) { - return new instance.web.Model('ir.values').call( + return self.alive(new instance.web.Model('ir.values').call( 'get_defaults', [self.model, condition] - ).then(function (results) { + )).then(function (results) { if (!results.length) { return response; } @@ -5367,8 +5367,8 @@ instance.web.form.FieldMonetary = instance.web.form.FieldFloat.extend({ this.set({"currency_info": null}); return; } - return this.ci_dm.add(new instance.web.Model("res.currency").query(["symbol", "position"]) - .filter([["id", "=", self.get("currency")]]).first()).then(function(res) { + return this.ci_dm.add(self.alive(new instance.web.Model("res.currency").query(["symbol", "position"]) + .filter([["id", "=", self.get("currency")]]).first())).then(function(res) { self.set({"currency_info": res}); }); }, diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index d23bedf1d1c..c22c8e0d723 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -1059,8 +1059,8 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web. // 2. an array of ids ids = value; } - new instance.web.Model(column.relation) - .call('name_get', [ids]).done(function (names) { + self.alive(new instance.web.Model(column.relation) + .call('name_get', [ids])).done(function (names) { // FIXME: nth horrible hack in this poor listview record.set(column.id + '__display', _(names).pluck(1).join(', ')); |
