diff --git a/addons/web_editor/controllers/main.py b/addons/web_editor/controllers/main.py index 1df011c1942..4e6c3fca0f1 100644 --- a/addons/web_editor/controllers/main.py +++ b/addons/web_editor/controllers/main.py @@ -268,7 +268,7 @@ class Web_Editor(http.Controller): _, args = request.env['ir.http']._match(src) record = request.env['ir.binary']._find_record( xmlid=args.get('xmlid'), - res_model=args.get('model'), + res_model=args.get('model', 'ir.attachment'), res_id=args.get('id'), ) if record._name == 'ir.attachment': diff --git a/addons/web_editor/tests/test_controller.py b/addons/web_editor/tests/test_controller.py index ce3553a2158..f91fcc7b07b 100644 --- a/addons/web_editor/tests/test_controller.py +++ b/addons/web_editor/tests/test_controller.py @@ -84,3 +84,34 @@ class TestController(HttpCase): self.assertEqual(len(svg), len(response.content), 'Expect same length as original') self.assertTrue('ABCDEF' in str(response.content), 'Expect patched c1') self.assertTrue('3AADAA' not in str(response.content), 'Old c1 should not be there anymore') + + def test_03_get_image_info(self): + gif_base64 = "R0lGODdhAQABAIAAAP///////ywAAAAAAQABAAACAkQBADs=" + self.authenticate('admin', 'admin') + # Upload document. + response = self.url_open( + '/web_editor/attachment/add_data', + headers={'Content-Type': 'application/json'}, + data=json_safe.dumps({'params': { + 'name': 'test.gif', + 'data': gif_base64, + 'is_image': True, + }}) + ).json() + self.assertFalse('error' in response, 'Upload failed: %s' % response.get('error', {}).get('message')) + attachment_id = response['result']['id'] + image_src = response['result']['image_src'] + mimetype = response['result']['mimetype'] + self.assertEqual('image/gif', mimetype, "Wrong mimetype") + # Ensure image info can be retrieved. + response = self.url_open('/web_editor/get_image_info', + headers={'Content-Type': 'application/json'}, + data=json_safe.dumps({ + "params": { + "src": image_src, + } + }), + ).json() + self.assertEqual(attachment_id, response['result']['original']['id'], "Wrong id") + self.assertEqual(image_src, response['result']['original']['image_src'], "Wrong image_src") + self.assertEqual(mimetype, response['result']['original']['mimetype'], "Wrong mimetype")