fix httprequest for web_chat

bzr revid: al@openerp.com-20110407024748-g2gf4u854qsu4eny
This commit is contained in:
Antony Lesuisse 2011-04-07 04:47:48 +02:00
parent e255b79f8a
commit df73cbb7a8
2 changed files with 14 additions and 14 deletions

View File

@ -714,6 +714,7 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
this.value = value;
this.log("o2m.set_value",value);
this.viewmanager.dataset.ids = value;
this.viewmanager.dataset.ids.count = value.length;
this.viewmanager.views.list.controller.do_update();
},
get_value: function(value) {

View File

@ -292,7 +292,7 @@ class JsonRequest(object):
:returns: a string-encoded JSON-RPC2 reply
:rtype: bytes
'''
# Read POST content of POST parameter named request
# Read POST content or POST Form Data named "request"
if requestf:
request = simplejson.load(requestf, object_hook=nonliterals.non_literal_decoder)
else:
@ -348,31 +348,30 @@ class JsonRequest(object):
def jsonrequest(f):
@cherrypy.expose
@functools.wraps(f)
def json_handler(self):
return JsonRequest().dispatch(self, f, requestf=cherrypy.request.body)
def json_handler(controller):
return JsonRequest().dispatch(controller, f, requestf=cherrypy.request.body)
return json_handler
class HttpRequest(object):
""" Regular GET/POST request
"""
def __init__(self):
# result may be filled, it's content will be updated by the return
# value of the dispatched function if it's a dict
def dispatch(self, controller, f, request, **kw):
self.request = request
self.httpsession_id = "cookieid"
self.httpsession = cherrypy.session
self.result = ""
def dispatch(self, controller, f, request):
print "GET/POST --> %s.%s %s" % (controller.__class__.__name__, f.__name__, request)
r = f(controller, self, request)
print "GET/POST --> %s.%s %s %r" % (controller.__class__.__name__, f.__name__, request, kw)
r = f(controller, self, **kw)
return r
def httprequest(f):
# check cleaner wrapping:
# functools.wraps(f)(lambda x: JsonRequest().dispatch(x, f))
l = lambda self, request: HttpRequest().dispatch(self, f, request)
l.exposed = 1
return l
def http_handler(self,*l, **kw):
HttpRequest().dispatch(self, f, cherrypy.request, **kw)
http_handler.exposed = 1
return http_handler
#-----------------------------------------------------------
# Cherrypy stuff