diff --git a/addons/auth_password_policy/static/src/js/password_field.js b/addons/auth_password_policy/static/src/js/password_field.js
index 93a623acc1c..fa8cfd20ff2 100644
--- a/addons/auth_password_policy/static/src/js/password_field.js
+++ b/addons/auth_password_policy/static/src/js/password_field.js
@@ -7,6 +7,7 @@
odoo.define('auth_password_policy.PasswordField', function (require) {
"use strict";
var fields = require('web.basic_fields');
+var registry = require('web.field_registry');
var policy = require('auth_password_policy');
var Meter = require('auth_password_policy.Meter');
var _formatValue = require('web.AbstractField').prototype._formatValue;
@@ -21,12 +22,12 @@ var PasswordField = fields.InputField.extend({
},
willStart: function () {
var _this = this;
- var getPolicy = this.nodeOptions['password_meter'] ? this._rpc({
+ var getPolicy = this._rpc({
model: 'res.users',
method: 'get_password_policy',
}).then(function (p) {
_this._meter = new Meter(_this, new policy.Policy(p), policy.recommendations);
- }) : undefined;
+ });
return $.when(
this._super.apply(this, arguments),
getPolicy
@@ -46,9 +47,6 @@ var PasswordField = fields.InputField.extend({
// insertAfter doesn't work and appendTo means the meter is
// ignored (as this.$el is an input[type=password])
_this.$el = t.add(meter.$el);
- if (!_this.nodeOptions['password_meter']) {
- meter.$el.hide();
- }
}, _this.$el);
}).then(function () {
// initial meter update when re-editing
@@ -84,17 +82,6 @@ var PasswordField = fields.InputField.extend({
}
});
-fields.InputField.include({
- init: function (parent, name, record, options) {
- var fieldsInfo = record.fieldsInfo[options.viewType];
- var attrs = options.attrs || (fieldsInfo && fieldsInfo[name]) || {};
- if ('password' in attrs
- && Object.getPrototypeOf(this) !== PasswordField.prototype) {
- return new PasswordField(parent, name, record, options);
- }
- this._super.apply(this, arguments);
- }
-});
-
+registry.add("password_meter", PasswordField);
return PasswordField;
});
diff --git a/addons/auth_password_policy/views/res_users.xml b/addons/auth_password_policy/views/res_users.xml
index 7bc4dc91103..e0a2ffc3acc 100644
--- a/addons/auth_password_policy/views/res_users.xml
+++ b/addons/auth_password_policy/views/res_users.xml
@@ -5,7 +5,7 @@
change.password.user
- {'password_meter': True}
+ password_meter