summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorSamuel Degueldre <sad@odoo.com>2020-04-01 14:06:20 +0000
committerSamuel Degueldre <sad@odoo.com>2020-04-02 18:49:03 +0000
commitbf9d864fb0a91e68dba36a901ebbe4d1bc1df4ee (patch)
tree9003cd34a184867bb4a504c640095d0a43c4f3f0 /addons
parent9ae9e7e0a6cfe5c8c6d8914b316d40dd9e143b5c (diff)
[FIX] website: fix logo not supporting new image url format
In a recent commit, we decided to change the image url format generated by the media-dialog to leverage browser caching using unique. Unfortunately, when saving an img tag to a binary field, the url parsing did not support this new url format, causing a traceback when changing the website logo and attempting to save. closes odoo/odoo#48914 X-original-commit: 9c618c7f903f1a0b32e067cfd713cd39762250f9 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/web_editor/models/ir_qweb.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/addons/web_editor/models/ir_qweb.py b/addons/web_editor/models/ir_qweb.py
index 3ee7073c691..908035b855c 100644
--- a/addons/web_editor/models/ir_qweb.py
+++ b/addons/web_editor/models/ir_qweb.py
@@ -359,16 +359,18 @@ class Image(models.AbstractModel):
url_object = urls.url_parse(url)
if url_object.path.startswith('/web/image'):
- # url might be /web/image/<model>/<id>[_<checksum>]/<field>[/<width>x<height>]
fragments = url_object.path.split('/')
query = url_object.decode_query()
- if fragments[3].isdigit():
+ url_id = fragments[3].split('-')[0]
+ # ir.attachment image urls: /web/image/<id>[-<checksum>][/...]
+ if url_id.isdigit():
model = 'ir.attachment'
- oid = fragments[3]
+ oid = url_id
field = 'datas'
+ # url of binary field on model: /web/image/<model>/<id>/<field>[/...]
else:
model = query.get('model', fragments[3])
- oid = query.get('id', fragments[4].split('_')[0])
+ oid = query.get('id', fragments[4])
field = query.get('field', fragments[5])
item = self.env[model].browse(int(oid))
return item[field]