mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Password policy measurement units.
When filling password policy it may be unclear what value to enter because user may not remember field's measurement unit. This patch adds support for declaring measurement units. It's done in field's/widget's spec by entering key for unit's string (which is in IPA.messages.measurement_units[key]). Measurement units in table layout are displayed in parenthesis after label. It is to be consistent with some fields which have measurement unit integrated in label. This patch defines measurement units for password policy's 'History size', 'Failure reset interval' and 'Lockout duration' fields. https://fedorahosted.org/freeipa/ticket/2437
This commit is contained in:
parent
05cf7c53a6
commit
848bd0e9e7
@ -35,6 +35,7 @@ IPA.field = function(spec) {
|
||||
that.param = spec.param || spec.name;
|
||||
that.label = spec.label;
|
||||
that.tooltip = spec.tooltip;
|
||||
that.measurement_unit = spec.measurement_unit;
|
||||
that.formatter = spec.formatter;
|
||||
|
||||
that.widget = null;
|
||||
@ -348,8 +349,9 @@ IPA.field = function(spec) {
|
||||
that.set_widget_flags = function() {
|
||||
|
||||
if (that.widget) {
|
||||
if(that.label) that.widget.label = that.label;
|
||||
if(that.title) that.widget.title = that.title;
|
||||
if (that.label) that.widget.label = that.label;
|
||||
if (that.title) that.widget.title = that.title;
|
||||
if (that.measurement_unit) that.widget.measurement_unit = that.measurement_unit;
|
||||
that.widget.undo = that.undo;
|
||||
that.widget.writable = that.writable;
|
||||
that.widget.read_only = that.read_only;
|
||||
|
@ -48,12 +48,21 @@ IPA.pwpolicy.entity = function(spec) {
|
||||
},
|
||||
'krbmaxpwdlife',
|
||||
'krbminpwdlife',
|
||||
'krbpwdhistorylength',
|
||||
{
|
||||
name: 'krbpwdhistorylength',
|
||||
measurement_unit: 'number_of_passwords'
|
||||
},
|
||||
'krbpwdmindiffchars',
|
||||
'krbpwdminlength',
|
||||
'krbpwdmaxfailure',
|
||||
'krbpwdfailurecountinterval',
|
||||
'krbpwdlockoutduration',
|
||||
{
|
||||
name: 'krbpwdfailurecountinterval',
|
||||
measurement_unit: 'seconds'
|
||||
},
|
||||
{
|
||||
name: 'krbpwdlockoutduration',
|
||||
measurement_unit: 'seconds'
|
||||
},
|
||||
'cospriority'
|
||||
]
|
||||
}]}).
|
||||
|
@ -138,6 +138,10 @@
|
||||
"password": "Password",
|
||||
"username": "Username"
|
||||
},
|
||||
"measurement_units": {
|
||||
"number_of_passwords": "number of passwords",
|
||||
"seconds": "seconds"
|
||||
},
|
||||
"objects": {
|
||||
"aci": {
|
||||
"attribute": "Attribute"
|
||||
|
@ -149,7 +149,8 @@ IPA.user.entity = function(spec) {
|
||||
{
|
||||
name: 'krbpwdhistorylength',
|
||||
label: IPA.get_entity_param('pwpolicy', 'krbpwdhistorylength').label,
|
||||
read_only: true
|
||||
read_only: true,
|
||||
measurement_unit: 'number_of_passwords'
|
||||
},
|
||||
{
|
||||
name: 'krbpwdmindiffchars',
|
||||
@ -169,12 +170,14 @@ IPA.user.entity = function(spec) {
|
||||
{
|
||||
name: 'krbpwdfailurecountinterval',
|
||||
label: IPA.get_entity_param('pwpolicy', 'krbpwdfailurecountinterval').label,
|
||||
read_only: true
|
||||
read_only: true,
|
||||
measurement_unit: 'seconds'
|
||||
},
|
||||
{
|
||||
name: 'krbpwdlockoutduration',
|
||||
label: IPA.get_entity_param('pwpolicy', 'krbpwdlockoutduration').label,
|
||||
read_only: true
|
||||
read_only: true,
|
||||
measurement_unit: 'seconds'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -36,6 +36,7 @@ IPA.widget = function(spec) {
|
||||
that.id = spec.id;
|
||||
that.label = spec.label;
|
||||
that.tooltip = spec.tooltip;
|
||||
that.measurement_unit = spec.measurement_unit;
|
||||
that.entity = IPA.get_entity(spec.entity); //some old widgets still need it
|
||||
that.facet = spec.facet;
|
||||
|
||||
@ -2688,10 +2689,12 @@ IPA.table_layout = function(spec) {
|
||||
title: widget.label
|
||||
}).appendTo(tr);
|
||||
|
||||
var label_text = widget.label + that.get_measurement_unit_text(widget) + ':';
|
||||
|
||||
$('<label/>', {
|
||||
name: widget.name,
|
||||
'class': that.label_class,
|
||||
text: widget.label+':'
|
||||
text: label_text
|
||||
}).appendTo(td);
|
||||
|
||||
if(widget.create_required) {
|
||||
@ -2713,6 +2716,16 @@ IPA.table_layout = function(spec) {
|
||||
return table;
|
||||
};
|
||||
|
||||
|
||||
that.get_measurement_unit_text = function(widget) {
|
||||
|
||||
if (widget.measurement_unit) {
|
||||
var unit = IPA.messages.measurement_units[widget.measurement_unit];
|
||||
return ' (' + unit + ')';
|
||||
}
|
||||
return '';
|
||||
};
|
||||
|
||||
return that;
|
||||
};
|
||||
|
||||
|
@ -273,6 +273,10 @@ class i18n_messages(Command):
|
||||
"password": _("Password"),
|
||||
"username": _("Username"),
|
||||
},
|
||||
"measurement_units": {
|
||||
"number_of_passwords": _("number of passwords"),
|
||||
"seconds": _("seconds"),
|
||||
},
|
||||
"objects": {
|
||||
"aci": {
|
||||
"attribute": _("Attribute"),
|
||||
|
Loading…
Reference in New Issue
Block a user