diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 8bd7950c0ac..7cc240a3ac7 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -608,7 +608,7 @@ class Home(http.Controller): # TODO: check that we don't do weird lazy overriding of __call__ which break body-removal return make_conditional( - response, bundle.last_modified, bundle.checksum, max_age=60*5) + response, bundle.last_modified, bundle.checksum, max_age=60*60*24) @http.route('/web/css/', type='http', auth='public') def css_bundle(self, xmlid, **kw): @@ -623,7 +623,7 @@ class Home(http.Controller): bundle.css(), [('Content-Type', 'text/css')]) return make_conditional( - response, bundle.last_modified, bundle.checksum, max_age=60*5) + response, bundle.last_modified, bundle.checksum, max_age=60*60*24) class WebClient(http.Controller): @@ -635,10 +635,6 @@ class WebClient(http.Controller): def jslist(self, mods=None): return manifest_list('js', mods=mods) - @http.route('/web/webclient/qweblist', type='json', auth="none") - def qweblist(self, mods=None): - return manifest_list('qweb', mods=mods) - @http.route('/web/webclient/qweb', type='http', auth="none") def qweb(self, mods=None, db=None): files = [f[0] for f in manifest_glob('qweb', addons=mods, db=db)] diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 74866112d99..c64da7e5810 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -232,7 +232,7 @@ instance.web.Session.include( /** @lends instance.web.Session# */{ var self = this; return this.session_reload().then(function(result) { var modules = instance._modules.join(','); - var deferred = self.rpc('/web/webclient/qweblist', {mods: modules}).then(self.load_qweb.bind(self)); + var deferred = self.load_qweb(modules); if(self.session_is_valid()) { return deferred.then(function() { return self.load_modules(); }); } @@ -318,7 +318,7 @@ instance.web.Session.include( /** @lends instance.web.Session# */{ loaded = $.when( loaded, self.rpc('/web/webclient/csslist', {mods: to_load}).done(self.load_css.bind(self)), - self.rpc('/web/webclient/qweblist', {mods: to_load}).then(self.load_qweb.bind(self)), + self.load_qweb(to_load), self.rpc('/web/webclient/jslist', {mods: to_load}).done(function(files) { file_list = file_list.concat(files); }) @@ -375,14 +375,12 @@ instance.web.Session.include( /** @lends instance.web.Session# */{ } return d; }, - load_qweb: function(files) { + load_qweb: function(mods) { var self = this; - _.each(files, function(file) { - self.qweb_mutex.exec(function() { - return self.rpc('/web/proxy/load', {path: file}).then(function(xml) { - if (!xml) { return; } - instance.web.qweb.add_template(_.str.trim(xml)); - }); + self.qweb_mutex.exec(function() { + return self.rpc('/web/proxy/load', {path: '/web/webclient/qweb?mods=' + mods}).then(function(xml) { + if (!xml) { return; } + instance.web.qweb.add_template(_.str.trim(xml)); }); }); return self.qweb_mutex.def;