summaryrefslogtreecommitdiff
path: root/addons/web_editor/controllers/main.py
diff options
context:
space:
mode:
authorSamuel Degueldre <sad@odoo.com>2020-03-24 13:34:17 +0000
committerSamuel Degueldre <sad@odoo.com>2020-03-30 11:06:48 +0000
commit49ea7b2b413dfcb2290b02eee4b43bfdabd535b2 (patch)
tree0b07f2a364b5d151053dfde9024d80f585573072 /addons/web_editor/controllers/main.py
parent25630e442129e98a78e790949a471e5eceb9a843 (diff)
[IMP] web_editor: improve image optimization workflow in media dialog
Previously, when selecting an image, the user could optimize their images by clicking a little cog icon in the media dialog. They would also be prompted to optimize their images when uploading them. In most cases, it makes a lot more sense to always save the original in the database, and optimize the original whenever it's dropped in the page automatically. A second problem is that when using the optimization feature, optimized images would be displayed along the originals by default, resulting in a lot of duplicates while browsing the media dialog. This commit changes both of these things: - By default, when uploading an image, the original uploaded image is used. The user can still optimize their image manually through the media-dialog by using the cog icon. When choosing an image in the media-dialog, if it's not already an optimized image, an optimized copy is automatically created and used instead. - Optimized images are now hidden by default, in the media dialog, and can be shown by clicking a checkbox at the top of the modal when in debug mode task-2091417 closes odoo/odoo#45174
Diffstat (limited to 'addons/web_editor/controllers/main.py')
-rw-r--r--addons/web_editor/controllers/main.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/addons/web_editor/controllers/main.py b/addons/web_editor/controllers/main.py
index 603509480f0..907b86e57f0 100644
--- a/addons/web_editor/controllers/main.py
+++ b/addons/web_editor/controllers/main.py
@@ -173,7 +173,16 @@ class Web_Editor(http.Controller):
if attachment.type == 'url':
raise UserError(_("You cannot change the quality, the width or the name of an URL attachment."))
if copy:
+ original = attachment
attachment = attachment.copy()
+ attachment.original_id = original
+ # Uniquify url by adding a path segment with the id before the name
+ if attachment.url:
+ url_fragments = attachment.url.split('/')
+ url_fragments.insert(-1, str(attachment.id))
+ attachment.url = '/'.join(url_fragments)
+ elif attachment.original_id:
+ attachment.datas = attachment.original_id.datas
data = {}
if name:
data['name'] = name