From 3ee9a9fbdc7ec099af08e9116cea92e39aa5bb36 Mon Sep 17 00:00:00 2001 From: "Andrea Grazioso (agr-odoo)" Date: Tue, 4 Feb 2020 08:08:11 +0000 Subject: [PATCH] [FIX] web_editor: deny videos in mass mailing Create a new mass mailing, add a video via youtube embed link, save. Send email. Embedding a video can't work because it embeds an iframe, which is not supported by most email clients for security reasons. Extending the noVideo flag also to mass_mailing opw-2179665 closes odoo/odoo#45104 X-original-commit: f9f8c9cc4075fdc5fd4556aa49c914054469198a Signed-off-by: Nicolas Lempereur (nle) --- addons/web_editor/static/src/js/backend/field_html.js | 4 ++++ addons/web_editor/static/src/js/editor/rte.summernote.js | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/addons/web_editor/static/src/js/backend/field_html.js b/addons/web_editor/static/src/js/backend/field_html.js index 75548eee4b8..1905c350f7b 100644 --- a/addons/web_editor/static/src/js/backend/field_html.js +++ b/addons/web_editor/static/src/js/backend/field_html.js @@ -187,6 +187,7 @@ var FieldHtml = basic_fields.DebouncedField.extend(TranslatableFieldMixin, { * @returns {Object} */ _getWysiwygOptions: function () { + var self = this; return Object.assign({}, this.nodeOptions, { recordInfo: { context: this.record.getContext(this.recordParams), @@ -221,6 +222,9 @@ var FieldHtml = basic_fields.DebouncedField.extend(TranslatableFieldMixin, { toolbar.splice(-1, 0, ['view', ['codeview']]); } } + if ("mailing.mailing" === self.model) { + options.noVideos = true; + } options.prettifyHtml = false; return options; }, diff --git a/addons/web_editor/static/src/js/editor/rte.summernote.js b/addons/web_editor/static/src/js/editor/rte.summernote.js index 1d8bcce4808..2be70626ab4 100644 --- a/addons/web_editor/static/src/js/editor/rte.summernote.js +++ b/addons/web_editor/static/src/js/editor/rte.summernote.js @@ -422,7 +422,9 @@ eventHandler.modules.imageDialog.showImageDialog = function ($editable) { options: { lastFilters: ['background'], onUpload: $editable.data('callbacks').onUpload, - noVideos: $editable.data('oe-model') === "mail.compose.message", + noVideos: + $editable.data('oe-model') === "mail.compose.message" || + ($editable.data('options') && $editable.data('options').noVideos), }, onSave: function (media) { if(!document.body.contains(media)) {