summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorAntoine Guenet <age@odoo.com>2019-03-06 12:41:50 +0000
committerAntoine Guenet <age@odoo.com>2019-03-06 12:51:41 +0000
commit0374ecaeb8012d048d25d6db645043de1f6c6db2 (patch)
tree9ce8764985ee6648d0a6d21bbe040fc980887788 /addons
parentf1c05305151202390d275554769913a4a5de8af4 (diff)
[FIX] web_editor: properly set media dialog `onlyImages` and find video
Media dialog was trying to reach the current media's parent node, which was not possible as it was cloned on instantiation. To fix this, the `showImageDialog` now passes the `onlyImages` option upon instantiation, checking the parent's data. It also passes the media's parent if said parent is a video. This way, neither of these two things need to be done in media dialog. closes odoo/odoo#31634 Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/web_editor/static/src/js/wysiwyg/plugin/media.js9
-rw-r--r--addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js6
2 files changed, 9 insertions, 6 deletions
diff --git a/addons/web_editor/static/src/js/wysiwyg/plugin/media.js b/addons/web_editor/static/src/js/wysiwyg/plugin/media.js
index 2cdfbe70cfe..1509a6412df 100644
--- a/addons/web_editor/static/src/js/wysiwyg/plugin/media.js
+++ b/addons/web_editor/static/src/js/wysiwyg/plugin/media.js
@@ -54,7 +54,14 @@ var MediaPlugin = AbstractPlugin.extend({
this.context.invoke('editor.saveRange');
var media = this.context.invoke('editor.restoreTarget');
- var mediaDialog = new weWidgets.MediaDialog(this.options.parent, {},
+ var $mediaParent = $(media).parent();
+ if ($mediaParent.hasClass('media_iframe_video')) {
+ media = $mediaParent[0];
+ $mediaParent = $mediaParent.parent();
+ }
+ var mediaDialog = new weWidgets.MediaDialog(this.options.parent, {
+ onlyImages: $mediaParent.data('oeField') === 'image' || $mediaParent.data('oeType') === 'image',
+ },
$(media).clone()[0]
);
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js b/addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js
index f214d210b52..08345895067 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js
@@ -48,7 +48,7 @@ var MediaDialog = Dialog.extend({
this.$media = $(media);
this.multiImages = options.multiImages;
- var onlyImages = options.onlyImages || this.multiImages || (this.media && (this.$media.parent().data('oeField') === 'image' || this.$media.parent().data('oeType') === 'image'));
+ var onlyImages = options.onlyImages || this.multiImages;
this.noImages = options.noImages;
this.noDocuments = onlyImages || options.noDocuments;
this.noIcons = onlyImages || options.noIcons;
@@ -80,10 +80,6 @@ var MediaDialog = Dialog.extend({
this.active = this.documentDialog;
} else if (this.videoDialog && this.$media.hasClass('media_iframe_video')) {
this.active = this.videoDialog;
- } else if (this.videoDialog && this.$media.parent().hasClass('media_iframe_video')) {
- this.$media = this.$media.parent();
- this.media = this.$media[0];
- this.active = this.videoDialog;
} else if (this.iconDialog && this.$media.is('span, i')) {
this.active = this.iconDialog;
}