From d237ba0a2b31a8a029f2e730711fe7c2a1193d3f Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 10 Feb 2012 15:55:02 +0100 Subject: [PATCH] [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 --- addons/web/static/src/js/core.js | 26 +++++++++++++++----------- 1 file 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();