mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Display group type
Created new value_map_widget which serves for displaying values based on a map. It is added to group for displaying its type. The decision is based on group's objectclass. https://fedorahosted.org/freeipa/ticket/2895
This commit is contained in:
committed by
Martin Kosek
parent
d536b3824e
commit
7c99e2d661
@@ -911,17 +911,18 @@ IPA.field_builder = function(spec) {
|
||||
return that;
|
||||
};
|
||||
|
||||
IPA.field_factories['field'] = IPA.field;
|
||||
IPA.field_factories['text'] = IPA.field;
|
||||
IPA.field_factories['password'] = IPA.field;
|
||||
IPA.field_factories['checkbox'] = IPA.checkbox_field;
|
||||
IPA.field_factories['checkboxes'] = IPA.checkboxes_field;
|
||||
IPA.field_factories['radio'] = IPA.radio_field;
|
||||
IPA.field_factories['multivalued'] = IPA.multivalued_field;
|
||||
IPA.field_factories['select'] = IPA.select_field;
|
||||
IPA.field_factories['textarea'] = IPA.field;
|
||||
IPA.field_factories['entity_select'] = IPA.combobox_field;
|
||||
IPA.field_factories['combobox'] = IPA.combobox_field;
|
||||
IPA.field_factories['link'] = IPA.link_field;
|
||||
IPA.field_factories['enable'] = IPA.enable_field;
|
||||
IPA.field_factories['sshkeys'] = IPA.sshkeys_field;
|
||||
IPA.field_factories['entity_select'] = IPA.combobox_field;
|
||||
IPA.field_factories['field'] = IPA.field;
|
||||
IPA.field_factories['link'] = IPA.link_field;
|
||||
IPA.field_factories['multivalued'] = IPA.multivalued_field;
|
||||
IPA.field_factories['password'] = IPA.field;
|
||||
IPA.field_factories['radio'] = IPA.radio_field;
|
||||
IPA.field_factories['select'] = IPA.select_field;
|
||||
IPA.field_factories['sshkeys'] = IPA.sshkeys_field;
|
||||
IPA.field_factories['textarea'] = IPA.field;
|
||||
IPA.field_factories['text'] = IPA.field;
|
||||
IPA.field_factories['value_map'] = IPA.field;
|
||||
@@ -50,6 +50,17 @@ IPA.group.entity = function(spec) {
|
||||
type: 'textarea',
|
||||
name: 'description'
|
||||
},
|
||||
{
|
||||
type: 'value_map',
|
||||
name: 'external',
|
||||
param: 'objectclass',
|
||||
label: IPA.messages.objects.group.type,
|
||||
default_label: IPA.messages.objects.group.normal,
|
||||
value_map: {
|
||||
ipaexternalgroup: IPA.messages.objects.group.external,
|
||||
posixgroup: IPA.messages.objects.group.posix
|
||||
}
|
||||
},
|
||||
'gidnumber'
|
||||
]
|
||||
}
|
||||
|
||||
@@ -3487,6 +3487,55 @@ IPA.action_panel = function(spec) {
|
||||
return that;
|
||||
};
|
||||
|
||||
IPA.value_map_widget = function(spec) {
|
||||
|
||||
spec = spec || {};
|
||||
spec.read_only = true;
|
||||
|
||||
var that = IPA.input_widget(spec);
|
||||
that.value_map = spec.value_map || {};
|
||||
that.default_label = spec.default_label || '';
|
||||
|
||||
that.create = function(container) {
|
||||
that.widget_create(container);
|
||||
container.addClass('status-widget');
|
||||
|
||||
that.display_control = $('<span/>', {
|
||||
name: that.name
|
||||
}).appendTo(container);
|
||||
};
|
||||
|
||||
that.update = function(values) {
|
||||
|
||||
var value, found, label;
|
||||
|
||||
found = false;
|
||||
|
||||
if ($.isArray(values)) {
|
||||
for (value in that.value_map) {
|
||||
|
||||
if (!that.value_map.hasOwnProperty(value)) continue;
|
||||
|
||||
if (values.indexOf(value) > -1) {
|
||||
label = that.value_map[value];
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
label = that.default_label;
|
||||
}
|
||||
|
||||
that.display_control.text(label);
|
||||
};
|
||||
|
||||
that.clear = function() {
|
||||
that.display_control.text('');
|
||||
};
|
||||
|
||||
return that;
|
||||
};
|
||||
|
||||
IPA.widget_factories['attribute_table'] = IPA.attribute_table_widget;
|
||||
IPA.widget_factories['button'] = IPA.button_widget;
|
||||
@@ -3509,3 +3558,4 @@ IPA.widget_factories['select'] = IPA.select_widget;
|
||||
IPA.widget_factories['sshkeys'] = IPA.sshkeys_widget;
|
||||
IPA.widget_factories['textarea'] = IPA.textarea_widget;
|
||||
IPA.widget_factories['text'] = IPA.text_widget;
|
||||
IPA.widget_factories['value_map'] = IPA.value_map_widget;
|
||||
Reference in New Issue
Block a user