[FIX] correct module loading
authorChristophe Simonis <chs@openerp.com>
Wed, 21 Dec 2011 10:41:49 +0000 (11:41 +0100)
committerChristophe Simonis <chs@openerp.com>
Wed, 21 Dec 2011 10:41:49 +0000 (11:41 +0100)
bzr revid: chs@openerp.com-20111221104149-su893ux077hep01z

addons/web/static/src/js/core.js

index 9c87a0f..066e904 100644 (file)
@@ -552,8 +552,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
                 user_context: result.context
             });
             var deferred = self.do_load_qweb(['/web/webclient/qweb']);
-            if(self.uid) {
-                return deferred.then(self.load_modules());
+            if(self.session_is_valid()) {
+                return deferred.pipe(_.bind(function() { this.load_modules(); }, self));
             }
             return deferred;
         });
@@ -636,26 +636,23 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
         if(openerp._modules_loaded) {
             return $.when();
         }
-        this.rpc('/web/session/modules', {}, function(result) {
+        return this.rpc('/web/session/modules', {}).pipe(function(result) {
             self.module_list = result;
             var lang = self.user_context.lang;
             var params = { mods: ["web"].concat(result), lang: lang};
-            self.rpc('/web/webclient/translations',params).pipe(function(transs) {
-                openerp.web._t.database.set_bundle(transs);
-                var modules = self.module_list.join(',');
-                var file_list = ["/web/static/lib/datejs/globalization/" +
-                    self.user_context.lang.replace("_", "-") + ".js"
-                ];
-                return $.when(
-                    self.rpc('/web/webclient/csslist', {mods: modules}, self.do_load_css),
-                    self.rpc('/web/webclient/qweblist', {mods: modules}).pipe(self.do_load_qweb)
-                ).pipe(function() {
+            var modules = self.module_list.join(',');
+            return $.when(
+                self.rpc('/web/webclient/csslist', {mods: modules}, self.do_load_css),
+                self.rpc('/web/webclient/qweblist', {mods: modules}).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: modules}).pipe(function(files) {
                         return self.do_load_js(file_list.concat(files)); 
                     });
-                }).then(function() {
-                    self.ready.resolve();
-                });
+                })
+            ).then(function() {
+                self.ready.resolve();
             });
         });
     },