mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Added account status into user search facet.
The user search facet has been modified to show the account status. The IPA.boolean_format has been converted into a class to allow behavior customization. Ticket #1996
This commit is contained in:
committed by
Petr Vobornik
parent
1b1aad2b02
commit
2a00393712
@@ -42,7 +42,7 @@ IPA.hbac.rule_entity = function(spec) {
|
||||
'cn',
|
||||
{
|
||||
name: 'ipaenabledflag',
|
||||
format: IPA.boolean_format
|
||||
format: IPA.boolean_format()
|
||||
},
|
||||
'description'
|
||||
]
|
||||
|
||||
@@ -46,7 +46,16 @@ IPA.hbac.test_entity = function(spec) {
|
||||
columns: [
|
||||
'uid',
|
||||
'givenname',
|
||||
'sn'
|
||||
'sn',
|
||||
{
|
||||
name: 'nsaccountlock',
|
||||
format: IPA.boolean_format({
|
||||
true_value: IPA.messages.objects.user.active,
|
||||
false_value: IPA.messages.objects.user.inactive,
|
||||
invert_value: true
|
||||
}),
|
||||
label: IPA.messages.objects.user.account_status
|
||||
}
|
||||
]
|
||||
}).
|
||||
facet({
|
||||
@@ -62,7 +71,7 @@ IPA.hbac.test_entity = function(spec) {
|
||||
{
|
||||
name: 'has_keytab',
|
||||
label: IPA.messages.objects.host.enrolled,
|
||||
format: IPA.boolean_format
|
||||
format: IPA.boolean_format()
|
||||
}
|
||||
]
|
||||
}).
|
||||
@@ -91,7 +100,7 @@ IPA.hbac.test_entity = function(spec) {
|
||||
{
|
||||
name: 'has_keytab',
|
||||
label: IPA.messages.objects.host.enrolled,
|
||||
format: IPA.boolean_format
|
||||
format: IPA.boolean_format()
|
||||
}
|
||||
]
|
||||
}).
|
||||
@@ -106,7 +115,7 @@ IPA.hbac.test_entity = function(spec) {
|
||||
'cn',
|
||||
{
|
||||
name: 'ipaenabledflag',
|
||||
format: IPA.boolean_format
|
||||
format: IPA.boolean_format()
|
||||
},
|
||||
'description'
|
||||
]
|
||||
@@ -123,11 +132,11 @@ IPA.hbac.test_entity = function(spec) {
|
||||
{
|
||||
name: 'matched',
|
||||
label: IPA.messages.objects.hbactest.matched,
|
||||
format: IPA.boolean_format
|
||||
format: IPA.boolean_format()
|
||||
},
|
||||
{
|
||||
name: 'ipaenabledflag',
|
||||
format: IPA.boolean_format
|
||||
format: IPA.boolean_format()
|
||||
},
|
||||
'description'
|
||||
]
|
||||
|
||||
@@ -40,7 +40,7 @@ IPA.host.entity = function(spec) {
|
||||
{
|
||||
name: 'has_keytab',
|
||||
label: IPA.messages.objects.host.enrolled,
|
||||
format: IPA.boolean_format
|
||||
format: IPA.boolean_format()
|
||||
}
|
||||
]
|
||||
}).
|
||||
@@ -466,30 +466,42 @@ IPA.field_factories['host_dnsrecord_entity_link'] = IPA.host_dnsrecord_entity_li
|
||||
IPA.widget_factories['host_dnsrecord_entity_link'] = IPA.link_widget;
|
||||
|
||||
/* Take an LDAP format date in UTC and format it */
|
||||
IPA.utc_date_column_format = function(value){
|
||||
if (!value) {
|
||||
return "";
|
||||
}
|
||||
if (value.length != "20101119025910Z".length){
|
||||
return value;
|
||||
}
|
||||
/* We only handle GMT */
|
||||
if (value.charAt(value.length -1) !== 'Z'){
|
||||
return value;
|
||||
}
|
||||
IPA.utc_date_column_format = function(spec) {
|
||||
|
||||
var date = new Date();
|
||||
spec = spec || {};
|
||||
|
||||
date.setUTCFullYear(
|
||||
value.substring(0, 4), // YYYY
|
||||
value.substring(4, 6)-1, // MM (0-11)
|
||||
value.substring(6, 8)); // DD (1-31)
|
||||
date.setUTCHours(
|
||||
value.substring(8, 10), // HH (0-23)
|
||||
value.substring(10, 12), // MM (0-59)
|
||||
value.substring(12, 14)); // SS (0-59)
|
||||
var formated = date.toString();
|
||||
return formated;
|
||||
var that = IPA.format(spec);
|
||||
|
||||
that.format = function(value) {
|
||||
|
||||
if (!value) return '';
|
||||
|
||||
// verify length
|
||||
if (value.length != '20101119025910Z'.length) {
|
||||
return value;
|
||||
}
|
||||
|
||||
/* We only handle GMT */
|
||||
if (value.charAt(value.length -1) !== 'Z') {
|
||||
return value;
|
||||
}
|
||||
|
||||
var date = new Date();
|
||||
|
||||
date.setUTCFullYear(
|
||||
value.substring(0, 4), // YYYY
|
||||
value.substring(4, 6)-1, // MM (0-11)
|
||||
value.substring(6, 8)); // DD (1-31)
|
||||
|
||||
date.setUTCHours(
|
||||
value.substring(8, 10), // HH (0-23)
|
||||
value.substring(10, 12), // MM (0-59)
|
||||
value.substring(12, 14)); // SS (0-59)
|
||||
|
||||
return date.toString();
|
||||
};
|
||||
|
||||
return that;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ IPA.rule_association_table_widget = function(spec) {
|
||||
name: that.external,
|
||||
label: IPA.messages.objects.sudorule.external,
|
||||
entity: that.other_entity,
|
||||
format: IPA.boolean_format,
|
||||
format: IPA.boolean_format(),
|
||||
width: '200px'
|
||||
});
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ IPA.sudo.rule_entity = function(spec) {
|
||||
'cn',
|
||||
{
|
||||
name: 'ipaenabledflag',
|
||||
format: IPA.boolean_format
|
||||
format: IPA.boolean_format()
|
||||
},
|
||||
'description'
|
||||
]
|
||||
|
||||
@@ -40,6 +40,15 @@ IPA.user.entity = function(spec) {
|
||||
'uid',
|
||||
'givenname',
|
||||
'sn',
|
||||
{
|
||||
name: 'nsaccountlock',
|
||||
format: IPA.boolean_format({
|
||||
true_value: IPA.messages.objects.user.active,
|
||||
false_value: IPA.messages.objects.user.inactive,
|
||||
invert_value: true
|
||||
}),
|
||||
label: IPA.messages.objects.user.account_status
|
||||
},
|
||||
'uidnumber',
|
||||
'mail',
|
||||
'telephonenumber',
|
||||
|
||||
@@ -927,25 +927,67 @@ IPA.textarea_widget = function (spec) {
|
||||
return that;
|
||||
};
|
||||
|
||||
IPA.boolean_format = function(value) {
|
||||
IPA.format = function(spec) {
|
||||
|
||||
if (value === undefined || value === null) return '';
|
||||
spec = spec || {};
|
||||
|
||||
if (value instanceof Array) {
|
||||
value = value[0];
|
||||
}
|
||||
var that = {};
|
||||
|
||||
var normalized_value = typeof value === 'string' ? value.toLowerCase() : '';
|
||||
that.format = function(value) {
|
||||
return value;
|
||||
};
|
||||
|
||||
if (value === false || normalized_value === 'false') {
|
||||
return IPA.messages['false'];
|
||||
}
|
||||
return that;
|
||||
};
|
||||
|
||||
if (value === true || normalized_value === 'true') {
|
||||
return IPA.messages['true'];
|
||||
}
|
||||
IPA.boolean_format = function(spec) {
|
||||
|
||||
return value;
|
||||
spec = spec || {};
|
||||
|
||||
var that = IPA.format(spec);
|
||||
|
||||
that.true_value = spec.true_value || IPA.messages['true'];
|
||||
that.false_value = spec.false_value || IPA.messages['false'];
|
||||
that.show_false = spec.show_false;
|
||||
that.invert_value = spec.invert_value;
|
||||
|
||||
that.format = function(value) {
|
||||
|
||||
if (value === undefined || value === null) return '';
|
||||
|
||||
if (value instanceof Array) {
|
||||
value = value[0];
|
||||
}
|
||||
|
||||
if (typeof value === 'string') {
|
||||
value = value.toLowerCase();
|
||||
|
||||
if (value === 'true') {
|
||||
value = true;
|
||||
} else if (value === 'false') {
|
||||
value = false;
|
||||
} // leave other values unchanged
|
||||
}
|
||||
|
||||
if (typeof value === 'boolean') {
|
||||
if (that.invert_value) value = !value;
|
||||
|
||||
if (value) {
|
||||
value = that.true_value;
|
||||
|
||||
} else {
|
||||
if (that.show_false) {
|
||||
value = that.false_value;
|
||||
} else {
|
||||
value = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
};
|
||||
|
||||
return that;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -978,8 +1020,8 @@ IPA.column = function (spec) {
|
||||
container.empty();
|
||||
|
||||
var value = record[that.name];
|
||||
if (that.format && value) {
|
||||
value = that.format(value);
|
||||
if (that.format) {
|
||||
value = that.format.format(value);
|
||||
}
|
||||
value = value ? value.toString() : '';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user