function setupGroup(facet){
if (facet == "details"){
setupGroupDetails();
}else if (facet == "add"){
setupAddGroup();
}else{
groupSearchForm.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']]]];
function setupGroupDetails(group){
//re initialize global parse of parameters
qs = ipa_parse_qs();
showDetails();
ipa_details_init('group');
ipa_details_create(group_details_list, $('#details'));
ipa_details_load(qs['pkey'], on_win, null, "sampledata/groupshow.json");
$('h1').text('Managing group: ' + group);
}
function renderGroupDetails(group)
{
}
function renderGroupDetailColumn(current,cell){
$("",{
href:"#tab=group&facet=details&pkey="+current.cn,
html: ""+ current[this.column],
//click: function(){ setupGroupDetails(current.cn)},
}).appendTo(cell);
}
var groupSearchColumns = [
{title:"Group Name", column:"cn",render: renderGroupDetailColumn},
{title:"GID", column:"gidnumber",render: renderSimpleColumn},
{title:"Description", column:"description",render: renderSimpleColumn}
];
var groupSearchForm = new SearchForm("group", "find", groupSearchColumns ,"sampledata/grouplist.json");