diff options
| author | Antony Lesuisse <al@openerp.com> | 2011-03-17 16:47:46 +0100 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2011-03-17 16:47:46 +0100 |
| commit | d51d885c77fa2a9eb53c879ca080b78ab35ebf7b (patch) | |
| tree | 496df7a4d08217565929d20310c2c7379a2575d0 /addons/base/static | |
| parent | e14677f2552b32836e183f1387026fac8b36f1bd (diff) | |
| parent | 6e9014a8794ca23e457bf69642e695cbe5ae337c (diff) | |
[MERGE] xmo compliant json-rpc2
bzr revid: al@openerp.com-20110317154746-7mbwuqt9gk940mra
Diffstat (limited to 'addons/base/static')
| -rw-r--r-- | addons/base/static/openerp/js/base_chrome.js | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/addons/base/static/openerp/js/base_chrome.js b/addons/base/static/openerp/js/base_chrome.js index 53256f7d260..dedab94eeab 100644 --- a/addons/base/static/openerp/js/base_chrome.js +++ b/addons/base/static/openerp/js/base_chrome.js @@ -143,27 +143,28 @@ openerp.base.Session = openerp.base.BasicController.extend({ // Construct a JSON-RPC2 request, method is currently unused params.session_id = this.session_id; params.context = typeof(params.context) != "undefined" ? params.context : this.context; - var request = { jsonrpc: "2.0", method: "call", params: params, "id":null }; - - // This is a violation of the JSON-RPC2 over HTTP protocol - // specification but i don't know how to parse the raw POST content from - // cherrypy so i use a POST form with one variable named request - var post = { request: JSON.stringify(request) }; // Use a default error handler unless defined error_callback = typeof(error_callback) != "undefined" ? error_callback : this.on_rpc_error; // Call using the rpc_mode - this.rpc_ajax(url, post, success_callback, error_callback); - }, - rpc_ajax: function(url, post, success_callback, error_callback) { + this.rpc_ajax(url, { + jsonrpc: "2.0", + method: "call", + params: params, + id:null + }, success_callback, error_callback); + }, + rpc_ajax: function(url, payload, success_callback, error_callback) { var self = this; this.on_rpc_request(); $.ajax({ type: "POST", url: url, dataType: 'json', - data: post, + contentType: 'application/json', + data: JSON.stringify(payload), + processData: false, success: function(response, textStatus, jqXHR) { self.on_rpc_response(); if (response.error) { @@ -182,7 +183,7 @@ openerp.base.Session = openerp.base.BasicController.extend({ error: function(jqXHR, textStatus, errorThrown) { self.on_rpc_response(); var error = { - code: 1, + code: -32098, message: "XmlHttpRequestError " + errorThrown, data: {type: "xhr"+textStatus, debug: jqXHR.responseText, objects: [jqXHR, errorThrown] } }; @@ -196,7 +197,7 @@ openerp.base.Session = openerp.base.BasicController.extend({ }, on_rpc_error: function(error) { // TODO this should use the $element with focus and button is displaying OPW etc... - this.on_log(error, error.message, error.data.type, error.data.debug); + this.on_log(error.message, error.data); }, on_session_invalid: function(contination) { }, |
