summaryrefslogtreecommitdiffstats
path: root/install/ui/aci.js
diff options
context:
space:
mode:
authorAdam Young <ayoung@redhat.com>2011-02-01 13:06:58 -0500
committerEndi S. Dewata <edewata@redhat.com>2011-02-01 14:56:41 -0500
commitec59e618da26b3514c9e174b7a7e8aa3e0deb462 (patch)
treeda9d9319854cdd1974c5acf59f44113b6accce91 /install/ui/aci.js
parent5c6232e24d008d062bb5e70dae5b111c32e96169 (diff)
downloadfreeipa-ec59e618da26b3514c9e174b7a7e8aa3e0deb462.tar.gz
freeipa-ec59e618da26b3514c9e174b7a7e8aa3e0deb462.tar.xz
freeipa-ec59e618da26b3514c9e174b7a7e8aa3e0deb462.zip
use entity select widget for permissions
https://fedorahosted.org/freeipa/ticket/879
Diffstat (limited to 'install/ui/aci.js')
-rw-r--r--install/ui/aci.js154
1 files changed, 5 insertions, 149 deletions
diff --git a/install/ui/aci.js b/install/ui/aci.js
index caa1435c9..67c2d5f87 100644
--- a/install/ui/aci.js
+++ b/install/ui/aci.js
@@ -165,56 +165,7 @@ IPA.attribute_table_widget = function(spec) {
return that;
};
-IPA.targetgroup_widget = function(spec) {
- spec = spec || {};
-
- var that = IPA.select_widget(spec);
-
- that.filter = spec.filter || '';
-
- that.create = function(container) {
- that.select = $('<select/>', {
- name: that.name,
- id: 'aci_target_group_select'
- }).appendTo(container);
- };
-
- that.load = function(record) {
-
- that.empty();
-
- that.select.append($('<option/>', {
- text: '',
- value: ''
- }));
-
- var command = IPA.command({
- method: 'group_find',
- args: [that.filter],
- options: {}
- });
-
- command.on_success = function(data, text_status, xhr) {
-
- var groups = data.result.result;
-
- for (var i=0; i<data.result.count; i++) {
- var option = groups[i].cn[0];
- that.select.append($('<option/>', {
- text: groups[i].cn[0],
- value: groups[i].cn[0]
- }));
- }
-
- that.select_load(record);
- };
-
- command.execute();
- };
-
- return that;
-};
IPA.type_widget = function(spec) {
@@ -234,96 +185,7 @@ IPA.type_widget = function(spec) {
return that;
};
-IPA.entity_select_widget = function(spec){
-
- var that = IPA.widget(spec);
- var entity = spec.entity || 'group';
-
- function populate_select(value){
- function find_success(result){
- $('option', that.entity_select).remove();
- var entities = result.result.result;
- for (var i =0; i < result.result.count; i +=1){
- var option =
- $('<option/>',{
- text:entities[i].cn[0],
- value:entities[i].cn[0]
- }).
- appendTo(that.entity_select);
- if (value === entities[i].cn[0]){
- option.attr('selected','selected');
- }
- }
- }
- function find_error(err){
- }
- IPA.command({
- method: entity+'_find',
- args:[that.entity_filter.val()],
- options:{},
- on_success:find_success,
- on_error:find_error
- }).execute();
- }
-
- that.create = function(container){
- var dd = $('<dd/>').appendTo(container);
-
- that.entity_select = $('<select/>', {
- id: that.name + '-entity-select',
- change: function(){
-
- }
- }).appendTo(dd);
-
-
- that.entity_filter = $('<input/>',{
- size:10,
- type: 'text',
- id: 'entity_filter',
- style: 'display: none;',
- keypress: function(){
- populate_select();
- }
- }).appendTo(dd);
-
- $('<a />',{
- href:"",
- text: 'add ' +entity + ' filter: ',
- click:function(){
- that.entity_filter.css('display','inline');
- $(this).css('display','none');
- return false;
- }
- }).appendTo(dd);
- populate_select();
- };
- that.reset = function(){
- that.entity_filter.val(that.values[0]);
- populate_select(that.values[0]);
-
- };
-
- that.is_dirty = function(){
- return (that.save()[0] !== that.values[0]);
- };
-
- that.load = function(record){
- var value = record[that.name];
- if (value instanceof Array) {
- that.values = value;
- } else {
- that.values = value ? [value] : [''];
- }
- that.reset();
- };
-
- that.save = function(){
- return [$('option:selected', that.entity_select).val()];
- };
- return that;
-};
IPA.rights_widget = function(spec){
var rights = ['write','add','delete'];
@@ -528,6 +390,8 @@ IPA.target_section = function () {
}
function display_group_target(dl){
+
+
$('<dt/>' ).
append($('<input />', {
type: 'radio',
@@ -539,24 +403,16 @@ IPA.target_section = function () {
})).
appendTo(dl);
- that.group_filter = $('<input/>',{
- type: 'text',
- id: 'group_filter' });
var span = $('<span/>', {
name: 'targetgroup'
}).appendTo(dl);
- $('<dd/>', {
+ var dd = $('<dd/>', {
'class': 'aci_by_group first'
}).
- append(that.group_filter).
- append($('<label>Group Filter</label>')).
appendTo(span);
- var dd = $('<dd/>', {
- 'class': 'aci_by_group other'
- }).appendTo(span);
that.group_select.create(dd);
}
@@ -619,7 +475,6 @@ IPA.target_section = function () {
that.load = function(record) {
set_aci_type(record);
- that.group_select.filter = that.group_filter.val();
that.attribute_table.object_type = record.type;
that.section_load(record);
@@ -637,7 +492,8 @@ IPA.target_section = function () {
that.add_field(IPA.text_widget({name: 'filter'}));
that.add_field(IPA.textarea_widget({name: 'subtree'}));
- that.group_select = IPA.targetgroup_widget({name: 'targetgroup'});
+ that.group_select = IPA.entity_select_widget(
+ {name: 'targetgroup', entity:'group'});
that.add_field(that.group_select);
that.type_select = IPA.type_widget({name: 'type'});