Code

Updated config management
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 5 Apr 2011 06:35:23 +0000 (06:35 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 5 Apr 2011 06:35:23 +0000 (06:35 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@20649 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/goto-ng/admin/newConfigManagement/class_ConfigManagementListing.inc
gosa-plugins/goto-ng/admin/newConfigManagement/class_newConfigManagement.inc

index 762353f433a0097b0f989ce47875e69819557d3e..de47f981e648e8ad22c50ab3fcb823b269306557 100644 (file)
@@ -202,10 +202,13 @@ class ConfigManagementListing extends management
 
     function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
     {
+        // Update the template engine to use another type of item and
+        //  some other values.
+        $item = $this->parent->dataModel->getItemById($target[0]);
+        $this->parent->TemplateEngine->setValues($item['type'],array('data' => array()));
         $this->dialogObject = $this->parent->TemplateEngine;
         $this->skipFooter = TRUE;
         $this->dialog = TRUE;
-
     }
 } 
 
index f3d16981970b725569b245d4b5bfa529ba1e1991..a5bcdd1dc13f6c34cbc8801a40e6eedad890c2ce 100644 (file)
@@ -13,6 +13,7 @@ class newConfigManagement extends plugin
     var $dataModel = NULL;
     var $listing = NULL;
 
+    var $cfgTypeMap = NULL;
 
     /*! \brief  Initialize the plugin and finally update the data model.
      */
@@ -205,8 +206,12 @@ class newConfigManagement extends plugin
         $this->listing->setContainers($this->getContainerList());
         $this->listing->setContainer($cont);
 
-        $this->setInstallMethod('puppet');
-
+        // Set the correct installation method for the selected item
+        $item = $this->dataModel->getItemByPath($cont);
+        if($this->cfgTypeMap[$item['type']]){
+            $method = $this->cfgTypeMap[$item['type']];
+            $this->setInstallMethod($method);
+        }
     }
 
 
@@ -220,7 +225,6 @@ class newConfigManagement extends plugin
         //  packages and items.
         $res = $this->listing->execute();
         $this->listing->setListingTypes($this->getListingTypes());
-
         return($res);
     }
 
@@ -300,6 +304,15 @@ class newConfigManagement extends plugin
             msg_dialog::display(_("Setup"), $this->errorMessage , ERROR_DIALOG);
             $this->initFailed = TRUE;
             return;
+        }else{
+            
+            $this->cfgTypeMap = array();
+            foreach($this->installationMethods as $methodName => $data){
+                foreach($data['items'] as $itemName => $itemData){
+                    $this->cfgTypeMap[$itemName] = $methodName;
+                }
+            }
+
         }
     }
 
@@ -343,19 +356,6 @@ class newConfigManagement extends plugin
     }
 
 
-    /*! \brief  Acts on edit requests and opens an edit dialog for the received item-id.
-     *          (This action is received from the ConfigManagementListing class.)
-     *  @param  Array   The items ids. (May contain multiple ids)
-     *  @return  
-     */
-    function editEntry($ids)
-    {
-        // Update the template engine to use another type of item and
-        //  some other values.
-        $this->TemplateEngine->setValues('PuppetTemplate',array('data' => array()));
-    }
-
-
     /*! \brief      The plugins ACL and plugin-property definition. 
      *  @return 
      */