summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-02-10 15:55:02 +0100
committerXavier Morel <xmo@openerp.com>2012-02-10 15:55:02 +0100
commitd237ba0a2b31a8a029f2e730711fe7c2a1193d3f (patch)
tree31c5a033bced4920144f0b8a8e8eb034cb38912e /addons/web/static/src/js
parent9b7539ae2656bd283ca315de8ff0d27583c353ed (diff)
[FIX] only try to load CSS, QWeb and JS files if there are new modules to reload, especially as the new conditional requests will blow up when trying to load nothing at all
bzr revid: xmo@openerp.com-20120210145502-gbtq09g75xxt83c4
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/core.js26
1 files changed, 15 insertions, 11 deletions
diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js
index 3c5f1ee1e75..ba5b2c654b7 100644
--- a/addons/web/static/src/js/core.js
+++ b/addons/web/static/src/js/core.js
@@ -732,17 +732,21 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
var params = { mods: all_modules, lang: lang};
var to_load = _.difference(result, self.module_list).join(',');
self.module_list = all_modules;
- return $.when(
- self.rpc('/web/webclient/csslist', {mods: to_load}, self.do_load_css),
- self.rpc('/web/webclient/qweblist', {mods: to_load}).pipe(self.do_load_qweb),
- self.rpc('/web/webclient/translations', params).pipe(function(trans) {
- openerp.web._t.database.set_bundle(trans);
- var file_list = ["/web/static/lib/datejs/globalization/" + lang.replace("_", "-") + ".js"];
- return self.rpc('/web/webclient/jslist', {mods: to_load}).pipe(function(files) {
- return self.do_load_js(file_list.concat(files));
- });
- })
- ).then(function() {
+
+ var loaded = $.Deferred().resolve().promise();
+ if (to_load.length) {
+ loaded = $.when(
+ self.rpc('/web/webclient/csslist', {mods: to_load}, self.do_load_css),
+ self.rpc('/web/webclient/qweblist', {mods: to_load}).pipe(self.do_load_qweb),
+ self.rpc('/web/webclient/translations', params).pipe(function(trans) {
+ openerp.web._t.database.set_bundle(trans);
+ var file_list = ["/web/static/lib/datejs/globalization/" + lang.replace("_", "-") + ".js"];
+ return self.rpc('/web/webclient/jslist', {mods: to_load}).pipe(function(files) {
+ return self.do_load_js(file_list.concat(files));
+ });
+ }))
+ }
+ return loaded.then(function() {
self.on_modules_loaded();
if (!no_session_valid_signal) {
self.on_session_valid();