function setupGroup(facet){ if (groupForms[facet]){ groupForms[facet].setup(); }else if (facet == "details"){ setupGroupDetails(); }else if (facet == "add"){ setupAddGroup(); }else{ groupForms.search.setup(); } } function addGroupFail(desc){ alert(desc); } function addGroup(on_success){ var options = { posix: $('#isposix').is(':checked') ? 1 : 0 , description: $("#groupdescription").val()}; var gid = $("#groupidnumber").val(); if (gid.length > 0){ options.gidnumber = gid; } var params = [$("#groupname").val()]; ipa_cmd( 'add', params, options, on_success, addGroupFail, 'group' ); } function addEditGroup(){ addGroup(function (response){ location.hash="tab=group&facet=details&pkey="+$("#groupname").val(); }); } function addAnotherGroup(){ addGroup(setupAddGroup); } function setupAddGroup(){ showContent(); $("

Add new Group

").appendTo("#content"); $("
") .appendTo("#content"); $("").appendTo("#addGroupForm"); $("
").appendTo("#addGroupForm"); $("
Name
") .appendTo("#groupProperties"); $("
Description
") .appendTo("#groupProperties"); $("
Is this a posix Group
") .appendTo("#groupProperties"); $("
GID
") .appendTo("#groupProperties"); $("#addEdit").click(addEditGroup); $("#addAnother").click(addAnotherGroup); } var group_details_list = [['identity', 'Group Details', [ ['cn', 'Group Name'], ['description', 'Description'], ['gidnumber', 'Group ID']]]]; var groupFacets=['details','users']; function setupGroupDetails(group){ //re initialize global parse of parameters qs = ipa_parse_qs(); showDetails(); setupFacetNavigation('group',qs['pkey'],qs['facet'],groupFacets); ipa_details_init('group'); ipa_details_create(group_details_list, $('#details')); ipa_details_load(qs['pkey'], on_win, null); $('h1').text('Managing group: ' + group); } function renderGroupDetailColumn(current,cell){ $("",{ href:"#tab=group&facet=details&pkey="+current.cn, html: ""+ current[this.column], }).appendTo(cell); } var groupSearchColumns = [ {title:"Group Name", column:"cn",render: renderGroupDetailColumn}, {title:"GID", column:"gidnumber",render: renderSimpleColumn}, {title:"Description", column:"description",render: renderSimpleColumn} ]; var groupForms = new GroupForms(); function GroupForms(){ this.userListColumns = [ {title:"user",column:"member_user" }]; this.obj="group"; this.users = new AssociationList( this.obj, "users", "assignusers", this.userListColumns, groupFacets ); this.assignusers = new AssociationForm( this.obj, "user", "assignusers", groupFacets, "uid", function(){ return 'Add Users to group : ' + qs['pkey'] ; }, BulkAssociator); this.search = new SearchForm("group", "find", groupSearchColumns ); }