From 5353fb249609e89485a63d06d4f2088b6a9d307d Mon Sep 17 00:00:00 2001 From: Mohammed Shekha Date: Thu, 12 Mar 2020 10:28:30 +0000 Subject: [PATCH] [IMP] web: trim FieldEmail widget value before this commit, email widget was not trimming value and due to which space aroung email value remain as it is added by user. after this commit, email widget will trim the value and remove leading/trailing space. task-2197432 closes odoo/odoo#47470 Signed-off-by: Aaron Bohy (aab) --- .../web/static/src/js/fields/basic_fields.js | 14 +++++++++++ .../static/tests/fields/basic_fields_tests.js | 23 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 9bdf4bc62a1..879ee978220 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -1506,6 +1506,20 @@ var FieldEmail = InputField.extend({ this.$el.text(''); } }, + /** + * Trim the value input by the user. + * + * @override + * @private + * @param {any} value + * @param {Object} [options] + */ + _setValue: function (value, options) { + if (this.field.trim) { + value = value.trim(); + } + return this._super(value, options); + }, //-------------------------------------------------------------------------- // Handlers diff --git a/addons/web/static/tests/fields/basic_fields_tests.js b/addons/web/static/tests/fields/basic_fields_tests.js index eaa41651c20..6bd62b2d25c 100644 --- a/addons/web/static/tests/fields/basic_fields_tests.js +++ b/addons/web/static/tests/fields/basic_fields_tests.js @@ -1065,6 +1065,29 @@ QUnit.module('basic_fields', { form.destroy(); }); + QUnit.test('email field trim user value', async function (assert) { + assert.expect(1); + + const form = await createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
', + res_id: 1, + viewOptions: { + mode: 'edit', + }, + }); + + await testUtils.fields.editInput(form.$('input[name="foo"]'), ' abc@abc.com '); + await testUtils.form.clickSave(form); + await testUtils.form.clickEdit(form); + assert.strictEqual(form.$('input[name="foo"]').val(), 'abc@abc.com', + "Foo value should have been trimmed"); + + form.destroy(); + }); + QUnit.module('FieldChar');