]> git.tokkee.org Git - gosa.git/commitdiff

Code

Upted config management
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 14 Apr 2011 06:54:13 +0000 (06:54 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 14 Apr 2011 06:54:13 +0000 (06:54 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@20725 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/goto-ng/admin/newConfigManagement/DeviceConfig-list.xml
gosa-plugins/goto-ng/admin/newConfigManagement/class_filterConfigManagement.inc
gosa-plugins/goto-ng/admin/newConfigManagement/class_newConfigManagement.inc

index 4b5c6bf8336c83afce8509a5242de6650b5d5631..99bc644f86ee34df72a492b9465ce50e357cbc38 100644 (file)
@@ -71,7 +71,6 @@
     <action>
       <name>editEntry</name>
       <type>entry</type>
-      <objectclass>editable</objectclass>
       <image>images/lists/edit.png</image>
       <label>Edit item</label>
     </action>
@@ -80,7 +79,6 @@
       <name>remove</name>
       <type>entry</type>
       <image>images/lists/trash.png</image>
-      <objectclass>removeable</objectclass>
       <label>Remove item</label>
     </action>
 
index b090c729151825768dc4f849d0583994c1713194..db43ea525fc1a6dde4b86c7defc06ef770c2fb64 100644 (file)
@@ -52,15 +52,6 @@ class filterConfigManagement {
             $entry[] = 'objectClass';
             $entry['count'] = 5;
 
-            if(isset($item['values']['__editable']) && ($item['values']['__editable'])){
-                $entry['objectClass'][] = 'editable';
-                $entry['objectClass']['count'] ++;
-            }
-            if(isset($item['values']['__removeable']) && ($item['values']['__removeable'])){
-                $entry['objectClass'][] = 'removeable';
-                $entry['objectClass']['count'] ++;
-            }
-
             $ret[] = $entry;
         }
 
index 2a289f7333ca83333acb0f4959f7f33b88600a8a..6b40d05aac678ab92146a2c7162fc4d1086c67db 100644 (file)
@@ -151,12 +151,10 @@ class newConfigManagement extends plugin
             return(NULL);
         }else{
             foreach($res as $dist){
-                $dist['__removeable'] = TRUE;
                 $this->dataModel->addItem('Distribution','/root', $dist['name'], $dist);
                 if(isset($dist['releases'])){
                     foreach($dist['releases'] as $release){
                         $distPath = "/root/{$dist['name']}";
-                        $release['__removeable'] = TRUE;
                         $this->dataModel->addItem('Release',$distPath, $release['name'], $release);
                     }
                 }
@@ -244,13 +242,7 @@ class newConfigManagement extends plugin
                         // Cleanup the path and then add the item.
                         $targetPath = preg_replace("/[^\/]*$/","", $targetPath);
                         $targetPath = rtrim($targetPath,'/');
-                        $this->dataModel->addItem($type, $targetPath, $name, 
-                                array(    
-                                        '__editable' => TRUE,
-                                        '__removeable' => TRUE,
-                                        '__path' => $itemPath,
-                                        '__release' => $path
-                                    ),'-' ); 
+                        $this->dataModel->addItem($type, $targetPath, $name,array(),'-' ); 
                     }
                     $this->dataModel->setItemStatus($path, 'fetched');
                 }
@@ -455,8 +447,9 @@ class newConfigManagement extends plugin
 
         // Is an config item.
         if(isset($this->cfgItemMap[$item['type']])){
-            $release = preg_replace("/^.*\//","",$item['values']['__release']);
-            $path = $item['values']['__path'];
+            $release = preg_replace("/^.*\//","", $this->getReleasePath($item['path']));
+            $path = $this->getItemPath($item['path']);
+
             $rpc = $this->config->getRpcHandle();
             $rpc->removeConfigItem($release, $path);
             if(!$rpc->success()){
@@ -475,28 +468,26 @@ class newConfigManagement extends plugin
      */
     function editEntry($ids)
     {
-        // Update the template engine to use another type of item and
-        //  some other values.
         $item = $this->dataModel->getItemById($ids[0]);
-        if(isset($this->cfgItemMap[$item['type']])){
-            $release = preg_replace("/^.*\//","",$item['values']['__release']);
-            $path = $item['values']['__path'];
-            $method = $this->cfgItemMap[$item['type']];
+        $release = preg_replace("/^.*\//","", $this->getReleasePath($item['path']));
+        $path = $this->getItemPath($item['path']);
+        $method = $this->cfgItemMap[$item['type']];
 
-            // Load item values on demand
+        // Load item values on demand
+        if($this->cfgItemMap[$item['type']] != 'root'){
             if($item['status'] == '-'){
                 $rpc = $this->config->getRpcHandle();
                 $item['values']['itemValues'] = $rpc->getConfigItem($release, $path);
                 $this->dataModel->setItemStatus($item['path'], 'fetched');
                 $this->dataModel->setItemValues($item['path'], $item['values']);
             }
-
-            $this->TemplateEngine->load($this->itemConfig);
-            $this->TemplateEngine->setTemplate($method.".tpl");
-            $this->TemplateEngine->setValues($item['type'],$item['values']['itemValues']);
-            $this->listing->setDialogObject($this->TemplateEngine);
-            $this->currentObject = $item;
         }
+
+        $this->TemplateEngine->load($this->itemConfig);
+        $this->TemplateEngine->setTemplate($method.".tpl");
+        $this->TemplateEngine->setValues($item['type'],$item['values']['itemValues']);
+        $this->listing->setDialogObject($this->TemplateEngine);
+        $this->currentObject = $item;
     }
 
 
@@ -586,13 +577,7 @@ class newConfigManagement extends plugin
             }else{
 
                 // We've successfully added the item, now add it to the tree.
-                $this->dataModel->addItem($type, $this->selectedContainer, $values['name'], 
-                        array(    
-                            '__editable' => TRUE,
-                            '__removeable' => TRUE,
-                            '__path' => $path,
-                            '__release' => $this->getReleasePath($this->selectedContainer)
-                            ), '-' );
+                $this->dataModel->addItem($type, $this->selectedContainer, $values['name'],array(), '-' );
 
                 // Finally - close the dialog. 
                 $this->listing->clearDialogObject();
@@ -607,8 +592,8 @@ class newConfigManagement extends plugin
             }
 
             // Get the items release & path info
-            $release = preg_replace("/^.*\//","",$item['values']['__release']);
-            $path = $item['values']['__path'];
+            $release = preg_replace("/^.*\//","", $this->getReleasePath($item['path']));
+            $path = $this->getItemPath($item['path']);
     
             // Write the modifications back to the server.
             $rpc = $this->config->getRpcHandle();