summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/openerpframework.js
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2013-10-11 15:30:54 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2013-10-11 15:30:54 +0200
commit083d3fc91e149dae323e664b0ec1ff581125450b (patch)
tree92d62cbdc70b12180d265f78906021ce21be0231 /addons/web/static/src/js/openerpframework.js
parente059b1c5c0efde36893e16dea9b8b5f6dd1694ac (diff)
Added tests about timeouts and implemented it in jsonprpc2
bzr revid: nicolas.vanhoren@openerp.com-20131011133054-0dx3wxqcqbdocnlf
Diffstat (limited to 'addons/web/static/src/js/openerpframework.js')
-rw-r--r--addons/web/static/src/js/openerpframework.js20
1 files changed, 19 insertions, 1 deletions
diff --git a/addons/web/static/src/js/openerpframework.js b/addons/web/static/src/js/openerpframework.js
index 062ecb8fe80..ab10d304b30 100644
--- a/addons/web/static/src/js/openerpframework.js
+++ b/addons/web/static/src/js/openerpframework.js
@@ -817,7 +817,7 @@ var genericJsonRpc = function(fct_name, params, fct) {
return result.result;
}
}, function() {
- console.error("JsonRPC communication error", _.toArray(arguments));
+ //console.error("JsonRPC communication error", _.toArray(arguments));
var def = $.Deferred();
return def.reject.apply(def, ["communication"].concat(_.toArray(arguments)));
});
@@ -899,11 +899,29 @@ openerp.jsonpRpc = function(url, fct_name, params, settings) {
});
// append the iframe to the DOM (will trigger the first load)
$form.after($iframe);
+ if (settings.timeout) {
+ realSetTimeout(function() {
+ deferred.reject({});
+ }, settings.timeout);
+ }
return deferred;
}
});
};
+var realSetTimeout = function(fct, millis) {
+ var finished = new Date().getTime() + millis;
+ var wait = function() {
+ var current = new Date().getTime();
+ if (current < finished) {
+ setTimeout(wait, finished - current);
+ } else {
+ fct();
+ }
+ };
+ setTimeout(wait, millis);
+};
+
openerp.Session = openerp.Class.extend(openerp.PropertiesMixin, {
triggers: {
'request': 'Request sent',