summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/core.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@openerp.com>2011-11-02 12:11:05 +0100
committerChristophe Simonis <chs@openerp.com>2011-11-02 12:11:05 +0100
commitae0bf044ef1d63bc0bb19eb9dccc0218c63a9c65 (patch)
tree4f42ebb07192d87726b3608eae1d622c10494a06 /addons/web/static/src/js/core.js
parent6f91e87f8cf55a4ba79809b697dbdd575f05677a (diff)
[IMP] qweb templates are stored in addon manifest and given by the server
bzr revid: chs@openerp.com-20111102111105-ibyupno1e47sv9ho
Diffstat (limited to 'addons/web/static/src/js/core.js')
-rw-r--r--addons/web/static/src/js/core.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js
index 75f2bb8ef71..837e9faab64 100644
--- a/addons/web/static/src/js/core.js
+++ b/addons/web/static/src/js/core.js
@@ -364,7 +364,9 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
// TODO: session should have an optional name indicating that they'll
// be saved to (and revived from) cookies
this.name = 'session';
+ this.do_load_qweb(['/web/webclient/qweb']);
},
+
start: function() {
this.session_restore();
},
@@ -487,6 +489,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
self.user_context = result.context;
self.db = result.db;
self.session_save();
+ self.on_session_valid();
return true;
}).then(success_callback);
},
@@ -578,6 +581,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
self.rpc('/web/webclient/jslist', {"mods": modules}, function(files) {
self.do_load_js(file_list.concat(files));
});
+ self.rpc('/web/webclient/qweblist', {"mods": modules}, self.do_load_qweb);
openerp._modules_loaded = true;
});
});
@@ -611,6 +615,19 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
this.on_modules_loaded();
}
},
+ do_load_qweb: function(files) {
+ var self = this;
+ _.each(files, function(file) {
+ $.ajax({
+ url: file,
+ type: 'get',
+ async: false,
+ dataType: 'text',
+ }).then(function(xml) {
+ openerp.web.qweb.add_template(_(xml).trim());
+ });
+ });
+ },
on_modules_loaded: function() {
for(var j=0; j<this.module_list.length; j++) {
var mod = this.module_list[j];