Code

Updated ogroups - Fixed error messages if classes were not available
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 21 Apr 2008 11:04:47 +0000 (11:04 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 21 Apr 2008 11:04:47 +0000 (11:04 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@10581 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/plugins/admin/ogroups/class_ogroup.inc
gosa-core/plugins/admin/ogroups/tabs_ogroups.inc

index ad7bce3122952d705fb72d0b3e72aa5d124cd998..398eed814d1e04d4f2ae6c7c8dfa32c2d123ac6a 100644 (file)
@@ -432,16 +432,26 @@ class ogroup extends plugin
       Generate Filter 
       ###########*/
 
-    $p_f= array("accounts"        => array("CLASS"=>"gosaAccount"    ,"DN"=> get_people_ou()           ,"ACL" => "users"), 
-                "groups"          => array("CLASS"=>"posixGroup"     ,"DN"=> get_groups_ou('ogroupou') ,"ACL" => "groups"), 
-                "applications"    => array("CLASS"=>"gosaApplication","DN"=> get_ou('applicationou')   ,"ACL" => "application"), 
-                "departments"     => array("CLASS"=>"gosaDepartment" ,"DN"=> ""                        ,"ACL" => "department"), 
-                "servers"         => array("CLASS"=>"goServer"       ,"DN"=> get_ou('serverou')        ,"ACL" => "server"),
-                "workstations"    => array("CLASS"=>"gotoWorkstation","DN"=> get_ou('workstationou')   ,"ACL" => "workstation"),
-                "winstations"    => array("CLASS"=>"opsiClient",        "DN"=> get_ou('WINSTATIONS')     ,"ACL" => "winstation"),
-                "terminals"       => array("CLASS"=>"gotoTerminal"   ,"DN"=> get_ou('terminalou')      ,"ACL" => "terminal"),
-                "printers"        => array("CLASS"=>"gotoPrinter"    ,"DN"=> get_ou('printerou')       ,"ACL" => "printer"),
-                "phones"          => array("CLASS"=>"goFonHardware"  ,"DN"=> get_ou('phoneou')         ,"ACL" => "phone"));
+    $p_f= array("accounts"=> array("OBJ"=>"user", "CLASS"=>"gosaAccount"    ,
+          "DN"=> get_people_ou()           ,"ACL" => "users"), 
+        "groups"          => array("OBJ"=>"group", "CLASS"=>"posixGroup"     ,
+          "DN"=> get_groups_ou('ogroupou') ,"ACL" => "groups"), 
+        "applications"    => array("OBJ"=>"application", "CLASS"=>"gosaApplication",
+          "DN"=> get_ou('applicationou')   ,"ACL" => "application"), 
+        "departments"     => array("OBJ"=>"department", "CLASS"=>"gosaDepartment" ,
+          "DN"=> ""                        ,"ACL" => "department"), 
+        "servers"         => array("OBJ"=>"servgeneric", "CLASS"=>"goServer"       ,
+          "DN"=> get_ou('serverou')        ,"ACL" => "server"),
+        "workstations"    => array("OBJ"=>"workgeneric", "CLASS"=>"gotoWorkstation",
+          "DN"=> get_ou('workstationou')   ,"ACL" => "workstation"),
+        "winstations"     => array("OBJ"=>"wingeneric", "CLASS"=>"opsiClient",        
+          "DN"=> get_ou('WINSTATIONS')     ,"ACL" => "winstation"),
+        "terminals"       => array("OBJ"=>"termgeneric", "CLASS"=>"gotoTerminal"   ,
+          "DN"=> get_ou('terminalou')      ,"ACL" => "terminal"),
+        "printers"        => array("OBJ"=>"printgeneric", "CLASS"=>"gotoPrinter"    ,
+          "DN"=> get_ou('printerou')       ,"ACL" => "printer"),
+        "phones"          => array("OBJ"=>"phoneGeneric", "CLASS"=>"goFonHardware"  ,
+          "DN"=> get_ou('phoneou')         ,"ACL" => "phone"));
 
 
     /*###########
@@ -455,14 +465,15 @@ class ogroup extends plugin
 
     foreach($p_f as $post_name => $data){
 
-      if($ogfilter[$post_name] == "checked"){
+      if($ogfilter[$post_name] == "checked" && class_available($data['OBJ'])){
 
         if($ogfilter['subtrees']){
           $base =  $ogfilter['dselect'];
         }else{
           $base =  $data['DN'].$ogfilter['dselect'];
         }
-    
+   
+         
         $filter = "(&(objectClass=".$data['CLASS'].")(|(uid=$regex)(cn=$regex)(ou=$regex)))";
         $res    = get_list($filter, $data['ACL']  , $base, 
                     array("description", "objectClass", "sn", "givenName", "uid","ou","cn"),$Get_list_flags);
index 5cd066577f8d93129cf50512a8d4cac231f5be24..e5654cd7342dfb9f4b180075b42eab2d3d209c2b 100644 (file)
@@ -277,19 +277,20 @@ class ogrouptabs extends tabs
           case "U":
             /* Append a PhoneQueue, if objectClass = goFonAccount */
             $use = false;
-          foreach($this->by_object['ogroup']->memberList as $dn => $val){
 
-            $obj = $this->by_object['ogroup']->objcache[$dn];
-            
-            if(isset($obj['objectClass'])){
-              if(in_array("goFonAccount",$obj['objectClass'])){
-                $use = true; 
+          /* We found goFonAccount in users objectClasses*/
+          if(class_available("phonequeue")){
+            foreach($this->by_object['ogroup']->memberList as $dn => $val){
+
+              $obj = $this->by_object['ogroup']->objcache[$dn];
+
+              if(isset($obj['objectClass'])){
+                if(in_array("goFonAccount",$obj['objectClass'])){
+                  $use = true; 
+                }
               }
             }
-          }
 
-          /* We found goFonAccount in users objectClasses*/
-          if(class_available("phonequeue")){
             if($use){
               $this->by_name['phonequeue']= _("Phone queue");
               $this->by_object['phonequeue']= new phonequeue($this->config, $this->dn);