diff --git a/addons/web/common/http.py b/addons/web/common/http.py index 4bdd87a6764..03d9adbdf03 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -138,9 +138,10 @@ class JsonRequest(WebRequest): :returns: an utf8 encoded JSON-RPC2 or JSONP reply """ args = self.httprequest.args - jsonp = args.get('jsonp', False) + jsonp = args.get('jsonp') requestf = None request = None + print "ARGS",args if jsonp and self.httprequest.method == 'POST': # jsonp 2 steps step1 POST: save call @@ -149,13 +150,13 @@ class JsonRequest(WebRequest): headers=[('Content-Type', 'text/plain; charset=utf-8')] r = werkzeug.wrappers.Response(request_id, headers=headers) return r + elif jsonp and args.get('r'): + # jsonp method GET + request = args.get('r') elif jsonp and args.get('id'): # jsonp 2 steps step2 GET: run and return result self.init(args) request = self.session.jsonp_requests.pop(args.get(id), "") - elif jsonp and args.get('r'): - # jsonp method GET - request = args.get('r') else: # regular jsonrpc2 requestf = self.httprequest.stream @@ -167,6 +168,7 @@ class JsonRequest(WebRequest): if requestf: self.jsonrequest = simplejson.load(requestf, object_hook=nonliterals.non_literal_decoder) else: + print "CACA",request self.jsonrequest = simplejson.loads(request, object_hook=nonliterals.non_literal_decoder) self.init(self.jsonrequest.get("params", {})) if _logger.isEnabledFor(logging.DEBUG): diff --git a/addons/web/common/openerplib/main.py b/addons/web/common/openerplib/main.py index 0f0be088e54..76bf7bad6ca 100644 --- a/addons/web/common/openerplib/main.py +++ b/addons/web/common/openerplib/main.py @@ -291,7 +291,7 @@ class Service(object): """ self.connector = connector self.service_name = service_name - self.__logger = _getChildLogger(_getChildLogger(_logger, 'service'),service_name) + self.__logger = _getChildLogger(_getChildLogger(_logger, 'service'),service_name or "") def __getattr__(self, method): """ @@ -407,7 +407,7 @@ class Model(object): """ self.connection = connection self.model_name = model_name - self.__logger = _getChildLogger(_getChildLogger(_logger, 'object'), model_name) + self.__logger = _getChildLogger(_getChildLogger(_logger, 'object'), model_name or "") def __getattr__(self, method): """ diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 0e25e098ec8..b0e304ee600 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1123,6 +1123,7 @@ openerp.web.EmbeddedClient = openerp.web.Widget.extend({ }); openerp.web.embed = function (origin, dbname, login, key, action, options) { + // TODO insert into dom head var currentScript = document.currentScript; if (!currentScript) { var sc = document.getElementsByTagName('script'); @@ -1130,10 +1131,11 @@ openerp.web.embed = function (origin, dbname, login, key, action, options) { } openerp.connection.bind(origin).then(function () { openerp.connection.session_authenticate(dbname, login, key).then(function () { - var client = new session.web.EmbeddedClient(action_id, options); + var client = new openerp.web.EmbeddedClient(action, options); client.insertAfter(currentScript); }); }); + } }; diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index f63c975334f..32cb5efdb73 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -480,7 +480,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }, url); var payload_str = JSON.stringify(payload); var payload_url = $.param({r:payload_str}); - if(playload_url.length < 2000) { + if(payload_url.length < 2000) { // Direct jsonp request ajax.data.r = payload_str; return $.ajax(ajax);