mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-30 10:47:08 -06:00
Disables gid field if not posix group in group adder dialog
https://fedorahosted.org/freeipa/ticket/1922 gidNumber is not an allowed attribute for a non-posix group. When adding a non-posix group from the UI, unchecking the "Is this a POSIX group?:" box should disable the "GID:" field.
This commit is contained in:
parent
5b968f9632
commit
95b85f907b
@ -102,6 +102,7 @@ IPA.entity_factories.group = function () {
|
||||
}).
|
||||
standard_association_facets().
|
||||
adder_dialog({
|
||||
factory: IPA.group_adder_dialog,
|
||||
fields: [
|
||||
'cn',
|
||||
{
|
||||
@ -133,4 +134,30 @@ IPA.group_nonposix_checkbox_widget = function (spec) {
|
||||
};
|
||||
|
||||
return that;
|
||||
};
|
||||
};
|
||||
|
||||
IPA.group_adder_dialog = function (spec) {
|
||||
|
||||
spec = spec || {};
|
||||
|
||||
var that = IPA.add_dialog(spec);
|
||||
|
||||
var init = function() {
|
||||
|
||||
var posix_field = that.get_field('nonposix');
|
||||
posix_field.value_changed.attach(that.on_posix_change);
|
||||
};
|
||||
|
||||
that.on_posix_change = function (value) {
|
||||
|
||||
var gid_field = that.get_field('gidnumber');
|
||||
if(value) {
|
||||
gid_field.reset();
|
||||
}
|
||||
gid_field.set_enabled(!value);
|
||||
};
|
||||
|
||||
init();
|
||||
|
||||
return that;
|
||||
};
|
||||
|
@ -468,6 +468,15 @@ IPA.text_widget = function(spec) {
|
||||
}
|
||||
};
|
||||
|
||||
that.set_enabled = function(value) {
|
||||
|
||||
if(value) {
|
||||
that.input.removeAttr('disabled');
|
||||
} else {
|
||||
that.input.attr('disabled', 'disabled');
|
||||
}
|
||||
};
|
||||
|
||||
// methods that should be invoked by subclasses
|
||||
that.text_load = that.load;
|
||||
|
||||
@ -771,6 +780,7 @@ IPA.checkbox_widget = function (spec) {
|
||||
|
||||
// default value
|
||||
that.checked = spec.checked || false;
|
||||
that.value_changed = IPA.observer();
|
||||
|
||||
that.create = function(container) {
|
||||
|
||||
@ -785,6 +795,7 @@ IPA.checkbox_widget = function (spec) {
|
||||
title: that.tooltip,
|
||||
change: function() {
|
||||
that.set_dirty(that.test_dirty());
|
||||
that.value_changed.notify(that.save(), that);
|
||||
}
|
||||
}).appendTo(container);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user