diff --git a/odoo/addons/base/controllers/rpc.py b/odoo/addons/base/controllers/rpc.py index 6154e08d957..e7bd958be40 100644 --- a/odoo/addons/base/controllers/rpc.py +++ b/odoo/addons/base/controllers/rpc.py @@ -36,7 +36,7 @@ class OdooMarshaller(xmlrpc.client.Marshaller): dispatch[lazy] = dump_lazy dispatch[Command] = dispatch[int] - dispatch[Markup] = dispatch[str] + dispatch[Markup] = lambda self, value, write: self.dispatch[str](self, str(value), write) # monkey-patch xmlrpc.client's marshaller diff --git a/odoo/addons/base/tests/test_xmlrpc.py b/odoo/addons/base/tests/test_xmlrpc.py index cd635a5b84c..22074deaf97 100644 --- a/odoo/addons/base/tests/test_xmlrpc.py +++ b/odoo/addons/base/tests/test_xmlrpc.py @@ -52,9 +52,15 @@ class TestXMLRPC(common.HttpCase): ) def test_xmlrpc_html_field(self): - pid = self.xmlrpc('res.partner', 'create', {'name': 'bob', 'comment': 'sucks'}) - [p] = self.xmlrpc('res.partner', 'read', pid, ['comment']) - self.assertEqual(p['comment'], 'sucks') + sig = '

bork bork bork bork

' + r = self.env['res.users'].create({ + 'name': 'bob', + 'login': 'bob', + 'signature': sig + }) + self.assertEqual(str(r.signature), sig) + [x] = self.xmlrpc('res.users', 'read', r.id, ['signature']) + self.assertEqual(x['signature'], sig) def test_jsonrpc_read_group(self): self._json_call(