summaryrefslogtreecommitdiffstats
path: root/install/ui/src/freeipa/rule.js
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2014-05-29 14:27:08 +0200
committerPetr Vobornik <pvoborni@redhat.com>2014-06-12 09:56:49 +0200
commitf1b83198da67b6cbf49209371b8a96536a13703e (patch)
tree9e63878a5a0ef62ff87f58d7186ac8185f427bb7 /install/ui/src/freeipa/rule.js
parentf0c19f907e27f2cd80b68ae32d20befe847ba443 (diff)
downloadfreeipa-f1b83198da67b6cbf49209371b8a96536a13703e.tar.gz
freeipa-f1b83198da67b6cbf49209371b8a96536a13703e.tar.xz
freeipa-f1b83198da67b6cbf49209371b8a96536a13703e.zip
webui: control sudo rule deny command tables by category switch
`memberdenycmd_sudocmd` and `memberdenycmd_sudocmdgroup` tables are now enabled/disabled based on `cmdcategory` as well. https://fedorahosted.org/freeipa/ticket/4361 Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
Diffstat (limited to 'install/ui/src/freeipa/rule.js')
-rw-r--r--install/ui/src/freeipa/rule.js54
1 files changed, 26 insertions, 28 deletions
diff --git a/install/ui/src/freeipa/rule.js b/install/ui/src/freeipa/rule.js
index f8d182b38..7ad08e1f2 100644
--- a/install/ui/src/freeipa/rule.js
+++ b/install/ui/src/freeipa/rule.js
@@ -43,9 +43,10 @@ IPA.rule_details_widget = function(spec) {
that.init = function() {
- that.enable_radio = IPA.radio_widget({
+ that.enable_radio = IPA.rule_radio_widget({
name: that.radio_name,
- options: that.options
+ options: that.options,
+ entity: that.entity
});
that.widgets.add_widget(that.enable_radio);
@@ -65,41 +66,38 @@ IPA.rule_details_widget = function(spec) {
}
};
- that.create = function(container) {
-
- that.container = container;
+ that.init();
- //enable radios
- var param_info = IPA.get_entity_param(that.entity.name, that.radio_name);
- var title = param_info ? param_info.doc : that.radio_name;
- var enable_radio_container = $('<div/>', {
- name: that.radio_name,
- title: title,
- 'class': 'field'
- }).appendTo(container);
+ return that;
+};
- enable_radio_container.append(title+': ');
- that.enable_radio.create(enable_radio_container);
+/**
+ * Rule radio widget
+ *
+ * Intended to be used especially by rule widget.
+ *
+ * @class IPA.rule_radio_widget
+ * @extends IPA.radio_widget
+ */
+IPA.rule_radio_widget = function(spec) {
- //tables
- for (var j=0; j<that.tables.length; j++) {
- var table = that.tables[j];
+ spec = spec || {};
+ var that = IPA.radio_widget(spec);
- var metadata = IPA.get_entity_param(that.entity.name, table.name);
+ /** @inheritDoc */
+ that.create = function(container) {
- var table_container = $('<div/>', {
- name: table.name,
- title: metadata ? metadata.doc : table.name,
- 'class': 'field'
- }).appendTo(container);
+ var param_info = IPA.get_entity_param(that.entity.name, that.name);
+ var title = param_info ? param_info.doc : that.name;
- var widget = that.widgets.get_widget(table.name);
- widget.create(table_container);
+ container.append(title + ': ');
+ that.widget_create(container);
+ that.owb_create(container);
+ if (that.undo) {
+ that.create_undo(container);
}
};
- that.init();
-
return that;
};