[FIX] web_editor: fix original not being properly set when cropping
Previously, if you opened the cropper on an already cropped image, it would load the crop data for that image. If you then changed the image and cropped that new image, it would keep most of the metadata of the previous image when saving, causing any subsequent crop to show the previous original image instead of the current one. This commit fixes that by removing all crop-related jQuery data from the image, so it's considered a fresh crop and a new attachment is created. closes odoo/odoo#50066 X-original-commit: 46c08050998d0c94d8955cd23ac783f38ecb5af1 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit is contained in:
@@ -498,7 +498,12 @@ var FileWidget = SearchableMediaWidget.extend({
|
||||
|
||||
// Remove crop related attributes
|
||||
if (this.$media.attr('data-aspect-ratio')) {
|
||||
var attrs = ['aspect-ratio', 'x', 'y', 'width', 'height', 'rotate', 'scale-x', 'scale-y', 'crop:originalSrc'];
|
||||
var attrs = ['aspect-ratio', 'x', 'y', 'width', 'height', 'rotate', 'scale-x', 'scale-y'];
|
||||
Object.keys(self.$media.data()).forEach(function (key) {
|
||||
if (_.str.startsWith(key, 'crop:')) {
|
||||
attrs.push(key);
|
||||
}
|
||||
});
|
||||
this.$media.removeClass('o_cropped_img_to_save');
|
||||
attrs.forEach(attr => {
|
||||
this.$media.removeData(attr);
|
||||
|
||||
Reference in New Issue
Block a user