Code

Added system filter
[gosa.git] / gosa-plugins / systems / admin / systems / class_systemManagement.inc
index 5f40cfe1bbf9f08a2c0f48da2bffaec4da4bd803..c3efc23d9dbaf871aebc7398960f99351e0db200 100644 (file)
@@ -64,6 +64,8 @@ class systemManagement extends management
     $headpage = new listing(get_template_path("system-list.xml", true));
     $headpage->setFilter($filter);
 
+    $filter->setConverter('INCOMING', 'systemManagement::incomingFilterConverter');
+
     // Add copy&paste and snapshot handler.
     if ($this->config->boolValueIsTrue("main", "copyPaste")){
       $this->cpHandler = new CopyPasteHandler($this->config);
@@ -71,28 +73,35 @@ class systemManagement extends management
     if($this->config->get_cfg_value("enableSnapshots") == "true"){
       $this->snapHandler = new SnapshotHandler($this->config);
     }
-    parent::__construct($config, $ui, "roles", $headpage);
+    parent::__construct($config, $ui, "systems", $headpage);
   }
 
-
-  
-  /*! \brief   Overridden render method of class mangement.
-   *            this allows us to add a release selection box.
-   */
-  function renderList()
+  static function incomingFilterConverter($filter)
   {
-    $headpage = $this->getHeadpage();
+    $rdn = preg_replace("/^[^=]*=/", "", get_ou('systemIncomingRDN'));
+    $rdn = preg_replace("/,.*$/","",$rdn);
+    return(preg_replace("/%systemIncomingRDN/", $rdn,$filter));
+  }
 
-    $tD = $this->getObjectDefinitions();
-    $smarty = get_smarty();
-    foreach($tD as $name => $obj){
-#      $smarty->assign("USE_".$name, (empty($obj['CLASS']) || class_available($obj['CLASS'])));
-    }
+  
+ /*! \brief   Overridden render method of class mangement.
+  *            this allows us to add a release selection box.
+  */
+function renderList()
+{
+  $headpage = $this->getHeadpage();
+  $headpage->update();
 
-    $display = $headpage->render();
-    return($this->getHeader().$display);
+  $tD = $this->getObjectDefinitions();
+  $smarty = get_smarty();
+  foreach($tD as $name => $obj){
+    $smarty->assign("USE_".$name, (empty($obj['TABNAME']) || class_available($obj['TABNAME'])));
   }
 
+  $display = $headpage->render();
+  return($this->getHeader().$display);
+}
+
 
   public function getObjectDefinitions()
   {
@@ -175,17 +184,15 @@ class systemManagement extends management
             "TABNAME" => "componentGeneric",
             "TABCLASS"=> "componenttabs",
             "ACLC"    => "component",
-            "ACL"     => "component/componentGeneric"));
-
-    if($this->opsi != NULL){
-      $tabs["opsi_client"] = array(
-          "RDN"       => "",
-          "CLASS"   => "OPSITABS",
-          "TABNAME" => "opsiGeneric" ,
-          "TABCLASS"=> "opsi_tabs",
-          "ACLC"    => "opsi" ,
-          "ACL"     => "opsi/opsiGeneric");
-    }
+            "ACL"     => "component/componentGeneric"),
+
+        "opsi_client" => array(
+            "RDN"     => "",
+            "CLASS"   => "OPSITABS",
+            "TABNAME" => "opsiGeneric" ,
+            "TABCLASS"=> "opsi_tabs",
+            "ACLC"    => "opsi" ,
+            "ACL"     => "opsi/opsiGeneric"));
 
     return($tabs);
   }