summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
Diffstat (limited to 'install')
-rwxr-xr-xinstall/static/hbac.js8
-rwxr-xr-xinstall/static/widget.js30
2 files changed, 35 insertions, 3 deletions
diff --git a/install/static/hbac.js b/install/static/hbac.js
index f63a489e0..894b2f4a0 100755
--- a/install/static/hbac.js
+++ b/install/static/hbac.js
@@ -71,9 +71,13 @@ function ipa_hbac_add_dialog(spec) {
'undo': false
}));
- that.add_field(ipa_text_widget({
+ that.add_field(ipa_radio_widget({
'name': 'accessruletype',
- 'label': 'Rule type (allow/deny)',
+ 'label': 'Rule type',
+ 'options': [
+ { 'value': 'allow', 'label': 'Allow' },
+ { 'value': 'deny', 'label': 'Deny' }
+ ],
'undo': false
}));
};
diff --git a/install/static/widget.js b/install/static/widget.js
index f6bc3d837..060f258eb 100755
--- a/install/static/widget.js
+++ b/install/static/widget.js
@@ -265,6 +265,31 @@ function ipa_radio_widget(spec) {
var that = ipa_widget(spec);
+ that.options = spec.options;
+
+ that.create = function(container) {
+
+ for (var i=0; i<that.options.length; i++) {
+ var option = that.options[i];
+
+ $('<input/>', {
+ 'type': 'radio',
+ 'name': that.name,
+ 'value': option.value
+ }).appendTo(container);
+
+ container.append(option.label);
+ }
+
+ if (that.undo) {
+ $('<span/>', {
+ 'name': 'undo',
+ 'style': 'display: none;',
+ 'html': 'undo'
+ }).appendTo(container);
+ }
+ };
+
that.setup = function(container) {
that.widget_setup(container);
@@ -295,7 +320,10 @@ function ipa_radio_widget(spec) {
};
that.clear = function() {
- $('input[name="'+that.name+'"]', that.container).get().checked = false;
+ $('input[name="'+that.name+'"]', that.container).each(function() {
+ var input = this;
+ input.checked = false;
+ });
};
return that;