[FIX] indentation in Session.rpc and Session.rpc_ajax, use early bailout to make...
authorXavier Morel <xmo@openerp.com>
Thu, 14 Jul 2011 09:57:31 +0000 (11:57 +0200)
committerXavier Morel <xmo@openerp.com>
Thu, 14 Jul 2011 09:57:31 +0000 (11:57 +0200)
bzr revid: xmo@openerp.com-20110714095731-2kuqyl0p289ouut7

addons/base/static/src/js/chrome.js

index 0e07b62..5eb0261 100644 (file)
@@ -365,7 +365,7 @@ openerp.base.Session = openerp.base.BasicController.extend( /** @lends openerp.b
             params: params,
             id:null
         }).then(function () {deferred.resolve.apply(deferred, arguments);},
-        function(error) {deferred.reject(error, $.Event());});
+                function(error) {deferred.reject(error, $.Event());});
         return deferred.fail(function() {
             deferred.fail(function(error, event) {
                 if (!event.isDefaultPrevented()) {
@@ -398,31 +398,35 @@ openerp.base.Session = openerp.base.BasicController.extend( /** @lends openerp.b
         }, url);
         var deferred = $.Deferred();
         $.ajax(ajax).done(function(response, textStatus, jqXHR) {
-                self.on_rpc_response();
-                if (response.error) {
-                    if (response.error.data.type == "session_invalid") {
-                        self.uid = false;
-                        self.on_session_invalid(function() {
-                            self.rpc(url, payload.params,
-                                function() {deferred.resolve.apply(deferred, arguments);},
-                                function(error, event) {event.preventDefault();
-                                    deferred.reject.apply(deferred, arguments);});
-                        });
-                    } else {
-                        deferred.reject(response.error);
-                    }
-                } else {
-                    deferred.resolve(response["result"], textStatus, jqXHR);
-                }
-            }).fail(function(jqXHR, textStatus, errorThrown) {
-                self.on_rpc_response();
-                var error = {
-                    code: -32098,
-                    message: "XmlHttpRequestError " + errorThrown,
-                    data: {type: "xhr"+textStatus, debug: jqXHR.responseText, objects: [jqXHR, errorThrown] }
-                };
-                deferred.reject(error);
+            self.on_rpc_response();
+            if (!response.error) {
+                deferred.resolve(response["result"], textStatus, jqXHR);
+                return;
+            }
+            if (response.error.data.type !== "session_invalid") {
+                deferred.reject(response.error);
+                return;
+            }
+            self.uid = false;
+            self.on_session_invalid(function() {
+                self.rpc(url, payload.params,
+                    function() {
+                        deferred.resolve.apply(deferred, arguments);
+                    },
+                    function(error, event) {
+                        event.preventDefault();
+                        deferred.reject.apply(deferred, arguments);
+                    });
             });
+        }).fail(function(jqXHR, textStatus, errorThrown) {
+            self.on_rpc_response();
+            var error = {
+                code: -32098,
+                message: "XmlHttpRequestError " + errorThrown,
+                data: {type: "xhr"+textStatus, debug: jqXHR.responseText, objects: [jqXHR, errorThrown] }
+            };
+            deferred.reject(error);
+        });
         return deferred.promise();
     },
     on_rpc_request: function() {