From bed33e1ca241c9cb0ff22897dbe60af476d59590 Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" Date: Tue, 27 Mar 2018 15:58:36 +0200 Subject: [PATCH] [FIX] web_editor: block only the form's buttons Commit cae188514fa8b0a7c785a630ac4aff677b2071fa was largely incomplete and inaccurate in fixing the issue at hand The aim of this commit is to deactivate the form buttons when the Html field is not completely loaded thus preventing the temporary value of the iframe to be saved OPW 1824545 closes #23905 --- addons/web_editor/static/src/js/backend.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/web_editor/static/src/js/backend.js b/addons/web_editor/static/src/js/backend.js index 23505c082fa..b160e6a7e97 100644 --- a/addons/web_editor/static/src/js/backend.js +++ b/addons/web_editor/static/src/js/backend.js @@ -194,7 +194,8 @@ var FieldTextHtml = widget.extend({ }, start: function () { var self = this; - + // Do not Forward port in >= 11.0 + this.$formButtons = this.getParent().$buttons; this.callback = _.uniqueId('FieldTextHtml_'); window.odoo[this.callback+"_editor"] = function (EditorBar) { setTimeout(function () { @@ -297,7 +298,8 @@ var FieldTextHtml = widget.extend({ this.$el.closest('.modal-body').css('max-height', 'none'); this.$iframe = this.$el.find('iframe'); // deactivate any button to avoid saving a not ready iframe - $('.o_cp_buttons, .o_statusbar_buttons').find('button').addClass('o_disabled').attr('disabled', true); + // Do not Forward port in >= 11.0 + this.$formButtons.find('button').addClass('o_disabled').attr('disabled', true); this.document = null; this.$body = $(); this.$content = $(); @@ -324,7 +326,8 @@ var FieldTextHtml = widget.extend({ this._dirty_flag = false; this.render_value(); // reactivate all the buttons when the field's content (the iframe) is loaded - $('.o_cp_buttons, .o_statusbar_buttons').find('button').removeClass('o_disabled').attr('disabled', false); + // Do not Forward port in >= 11.0 + this.$formButtons.find('button').removeClass('o_disabled').attr('disabled', false); setTimeout(function () { self.add_button(); setTimeout(self.resize,0); @@ -422,6 +425,8 @@ var FieldTextHtml = widget.extend({ } }, destroy: function () { + // Do not Forward port in >= 11.0 + this.$formButtons.find('button').removeClass('o_disabled').attr('disabled', false); $(window).off('resize', this.resize); delete window.odoo[this.callback+"_editor"]; delete window.odoo[this.callback+"_content"];