[FIX] indentation in Session.rpc and Session.rpc_ajax, use early bailout to make code flow simpler and reduce indentation significantly

bzr revid: xmo@openerp.com-20110714095731-2kuqyl0p289ouut7
This commit is contained in:
Xavier Morel 2011-07-14 11:57:31 +02:00
parent c6bcc855e1
commit 7578658e69
1 changed files with 29 additions and 25 deletions

View 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() {