* @param {Array} modules list of modules to initialize
*/
init: function(modules) {
+ // By default only web will be loaded, the rest will be by loaded
+ // by openerp.web.Connection on the first session_authenticate
+ modules = modules || ["web"];
var new_instance = {
// links to the global openerp
_openerp: openerp,
- // Only web will be loaded, the rest will be by loaded by
- // openerp.web.Connection on the first connection
- _modules_loaded: false,
// this unique id will be replaced by hostname_databasename by
// openerp.web.Connection on the first connection
_session_id: "session" + session_counter++,
+ _modules: modules,
web: {},
web_mobile: {}
};
openerp.sessions[new_instance._session_id] = new_instance;
- modules = modules || ["web"];
for(var i=0; i < modules.length; i++) {
openerp[modules[i]](new_instance);
}
user_context: result.context,
openerp_entreprise: result.openerp_entreprise
});
- var deferred = self.do_load_qweb(['/web/webclient/qweb']);
+ var modules = openerp._modules.join(',');
+ var deferred = self.rpc('/web/webclient/qweblist', {mods: modules}).pipe(self.do_load_qweb);
if(self.session_is_valid()) {
- return deferred.pipe(_.bind(function() { this.load_modules(); }, self));
+ return deferred.pipe(function() { self.load_modules(); });
}
return deferred;
});
*/
load_modules: function() {
var self = this;
- if(openerp._modules_loaded) {
- return $.when();
- }
return this.rpc('/web/session/modules', {}).pipe(function(result) {
self.module_list = result;
var lang = self.user_context.lang;