This patch adds the ability to add a new group.

is Posix and group Id fields are passed on accordingly.
>From d434b8dd837f80d0fc2e66aef6dcb68abe8ae61f Mon Sep 17 00:00:00 2001
From: Adam Young <ayo...@redhat.com>
Date: Mon, 9 Aug 2010 16:32:52 -0400
Subject: [PATCH] Group add functionality now implmented.

   - Proper navigation. (Add and edit versus add another)
   - posix field is respected
    - gid set accordingly
---
 install/static/group.js |   67 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 4 deletions(-)

diff --git a/install/static/group.js b/install/static/group.js
index e1aa701..eddb272 100644
--- a/install/static/group.js
+++ b/install/static/group.js
@@ -1,17 +1,78 @@
 function setupGroup(facet){
     if (facet == "details"){
        setupGroupDetails();
+    }else  if (facet == "add"){
+        setupAddGroup();
     }else{
        setupGroupSearch();
     }
 }
 
+
+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.href="index.xhtml?tab=group&facet=details&pkey="+$("#groupname").val();
+    });
+}
+
+function addAnotherGroup(){
+    addGroup(setupAddGroup);
+}
+
+
+function setupAddGroup(){
+    showContent();
+    $("<h1>Add new Group</h1>").appendTo("#content");
+
+    $("<form id='addGroupForm'> </form>")
+       .appendTo("#content");
+    
+    $("<label>Add and </label><input id='addEdit' type='button' 
value='Edit'/><input id='addAnother' type='button' value='Add 
Another'/>").appendTo("#addGroupForm");
+    $("<dl id='groupProperties' />").appendTo("#addGroupForm");
+      
+    $("<dt>Name</dt><dd><input id='groupname' type='text'/></dd>")
+       .appendTo("#groupProperties");
+    $("<dt>Description</dt><dd><input id='groupdescription' 
type='text'/></dd>")
+       .appendTo("#groupProperties");
+
+    $("<dt>Is this a posix Group</dt><dd><input id='isposix' 
type='checkbox'/></dd>")
+       .appendTo("#groupProperties");
+    $("<dt>GID</dt><dd><input id='groupidnumber' type='text'/></dd>")
+       .appendTo("#groupProperties");
+
+
+    $("#addEdit").click(addEditGroup);
+    $("#addAnother").click(addAnotherGroup);
+
+}
+
 function setupGroupDetails(){
 
     $('#search').css("visibility","hidden");
     $('#content').css("visibility","visible");
     $('#content').load("group-details.inc");
-
     sampleData = "sampledata/groupshow.json";
 }
 
@@ -33,9 +94,7 @@ function setupGroupSearch(){
        executeSearch(groupSearchForm);
     });
     $("#new").unbind();
-    $("#new").click( function() {
-       alert("New Group...");
-    });
+    $("#new").click( setupAddGroup );
 
 
 }
-- 
1.7.1

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to