diff --git a/addons/web_editor/static/src/js/backend.js b/addons/web_editor/static/src/js/backend.js index 8895ee0b99a..c12ab41b4bb 100644 --- a/addons/web_editor/static/src/js/backend.js +++ b/addons/web_editor/static/src/js/backend.js @@ -39,7 +39,7 @@ var FieldTextHtmlSimple = basic_fields.DebouncedField.extend({ */ commitChanges: function () { // switch to WYSIWYG mode if currently in code mode to get all changes - if (config.debug) { + if (config.debug && this.mode === 'edit') { var layoutInfo = this.$textarea.data('layoutInfo'); $.summernote.pluginEvents.codeview(undefined, undefined, layoutInfo, false); } diff --git a/addons/web_editor/static/tests/web_editor_tests.js b/addons/web_editor/static/tests/web_editor_tests.js index 6a18566af2b..a053ad99043 100644 --- a/addons/web_editor/static/tests/web_editor_tests.js +++ b/addons/web_editor/static/tests/web_editor_tests.js @@ -121,4 +121,31 @@ QUnit.test('field html_frame widget', function (assert) { form.destroy(); }); +QUnit.test('field htmlsimple does not crash when commitChanges is called in mode=readonly', function (assert) { + assert.expect(1); + + var form = testUtils.createView({ + View: FormView, + model: 'mass.mailing', + data: this.data, + arch: '
' + + '
' + + '
' + + '' + + '' + + '' + + '
', + res_id: 1, + intercepts: { + execute_action: function () { + assert.step('execute_action'); + } + }, + }); + + form.$('button:contains(Do it)').click(); + form.destroy(); +}); + });