summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/web/static/src/js/fields/basic_fields.js3
-rw-r--r--addons/web/static/tests/views/form_tests.js24
2 files changed, 27 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 cdaed1d7b4f..a5ceba50d3f 100644
--- a/addons/web/static/src/js/fields/basic_fields.js
+++ b/addons/web/static/src/js/fields/basic_fields.js
@@ -225,6 +225,9 @@ var InputField = DebouncedField.extend({
this.$input.attr({
type: this.nodeOptions.isPassword ? 'password' : 'text',
placeholder: this.attrs.placeholder || "",
+ autocomplete: this.nodeOptions.isPassword ?
+ 'new-password' :
+ this.attrs.autocomplete,
});
this.$input.val(this._formatValue(this.value));
return this.$input;
diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js
index 9cce413b618..6ca4740a62e 100644
--- a/addons/web/static/tests/views/form_tests.js
+++ b/addons/web/static/tests/views/form_tests.js
@@ -4709,6 +4709,30 @@ QUnit.module('Views', {
form.destroy();
});
+ QUnit.test('support autocomplete attribute', function (assert) {
+ assert.expect(3);
+
+ var form = createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch: '<form string="Partners">' +
+ '<field name="display_name" autocomplete="coucou"/>' +
+ '<field name="foo" password="True"/>' +
+ '</form>',
+ res_id: 1,
+ });
+
+ form.$buttons.find('.o_form_button_edit').click();
+ assert.strictEqual(form.$('input[name="foo"]').val(), '***',
+ "password should be displayed with stars");
+ assert.strictEqual(form.$('input[name="display_name"]').prop('autocomplete'), 'coucou',
+ "attribute autocomplete should be set");
+ assert.strictEqual(form.$('input[name="foo"]').prop('autocomplete'), 'new-password',
+ "attribute autocomplete should be set to 'new-password' on password input");
+ form.destroy();
+ });
+
QUnit.test('context is correctly passed after save & new in FormViewDialog', function (assert) {
assert.expect(3);