summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2013-02-27 12:31:32 +0100
committerniv-openerp <nicolas.vanhoren@openerp.com>2013-02-27 12:31:32 +0100
commit5a9bf08f46773effb887be8bdda0c328a65b7de8 (patch)
tree2302239f35fbbe8f0e815f521a8e69a4c1a53bd6 /addons/web/static/src
parente141ed8546060b08c292248b43c1662b7e01af8d (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.js6
-rw-r--r--addons/web/static/src/js/view_form.js12
-rw-r--r--addons/web/static/src/js/view_list.js4
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(', '));