[IMP] initial module loading improvements
bzr revid: al@openerp.com-20111227194405-rz3kxbib03orbpr8
This commit is contained in:
@@ -22,20 +22,20 @@
|
||||
* @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);
|
||||
}
|
||||
|
||||
@@ -553,9 +553,10 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
||||
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;
|
||||
});
|
||||
@@ -636,9 +637,6 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
|
||||
*/
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user