Code

Fixed groupmail acl stuff
[gosa.git] / plugins / admin / groups / class_groupGeneric.inc
index 188b6b6061909ff26a74ebd30f4cc383982d07f8..e1286d7e1b1344263e9783e717d637d24904a748 100644 (file)
@@ -33,9 +33,11 @@ class group extends plugin
   var $has_mailAccount= FALSE;
   var $group_dialog= FALSE;
   var $nagios_group =FALSE;
+  var $sambaGroupType;
+  var $dialog;
 
   /* attribute list for save action */
-  var $attributes= array("cn", "description", "gidNumber");
+  var $attributes= array("cn", "description", "gidNumber","memberUid","sambaGroupType","sambaSID");
   var $objectclasses= array("top", "posixGroup");
 
   function group ($config, $dn= NULL)
@@ -199,7 +201,32 @@ class group extends plugin
       $this->reload();
     }
 
-    /* Assign templating stuff */
+    /* Base select dialog */
+    $once = true;
+    foreach($_POST as $name => $value){
+      if(preg_match("/^chooseBase/",$name) && $once){
+        $once = false;
+        $this->dialog = new baseSelectDialog($this->config);
+        $this->dialog->setCurrentBase($this->base);
+      }
+    }
+
+    /* Dialog handling */
+    if(is_object($this->dialog)){
+      /* Must be called before save_object */
+      $this->dialog->save_object();
+
+      if($this->dialog->isClosed()){
+        $this->dialog = false;
+      }elseif($this->dialog->isSelected()){
+        $this->base = $this->dialog->isSelected();
+        $this->dialog= false;
+      }else{
+        return($this->dialog->execute());
+      }
+    }
+
+   /* Assign templating stuff */
     $smarty= get_smarty();
     if ($this->samba3){
       $smarty->assign("samba3", "true");