summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorMohammed Shekha <msh@odoo.com>2020-03-12 10:28:30 +0000
committerAaron Bohy <aab@odoo.com>2020-03-24 08:02:13 +0000
commit5353fb249609e89485a63d06d4f2088b6a9d307d (patch)
treebdbbe35844c1fe295f6c022f1cb6ec8ef1791a78 /addons
parentefd5401ee1efbdd388d9623d59a96353e93bf21d (diff)
[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) <aab@odoo.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/web/static/src/js/fields/basic_fields.js14
-rw-r--r--addons/web/static/tests/fields/basic_fields_tests.js23
2 files changed, 37 insertions, 0 deletions
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: '<form><field name="foo" widget="email"/></form>',
+ 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');