From d702e82b9caa17b0410a13889e2352c3fc6425f5 Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Thu, 14 Jun 2018 15:49:00 +0200 Subject: [FIX] web: fix ace editor when value is False Avoid to crash the client web with setValue(false). false.match, false.split, false.length... will not works. Before this commit, _render call the setValue after comparing '' !== false --- addons/web/static/src/js/fields/basic_fields.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'addons/web/static/src/js/fields/basic_fields.js') diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index ba4169d2617..4e083d3f0c8 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -2431,6 +2431,21 @@ var AceEditor = DebouncedField.extend({ // Private //-------------------------------------------------------------------------- + /** + * Format value + * + * Note: We have to overwrite this method to always return a string. + * AceEditor works with string and not boolean value. + * + * @override + * @private + * @param {boolean|string} value + * @returns {string} + */ + _formatValue: function (value) { + return this._super.apply(this, arguments) || ''; + }, + /** * @override * @private @@ -2453,6 +2468,7 @@ var AceEditor = DebouncedField.extend({ this.aceSession.setValue(newValue); } }, + /** * Starts the ace library on the given DOM element. This initializes the * ace editor option according to the edit/readonly mode and binds ace -- cgit v1.2.3