Code

Updated listing table summary
[gosa.git] / gosa-plugins / fai / admin / fai / class_faiManagement.inc
index bd9db783416e8693b5bbcd627cc1506669e8f804..72031cfd93868a7ad1b093cc8cfdd541170052f9 100644 (file)
@@ -34,7 +34,7 @@ class faiManagement extends management
   protected $objectName   = "FAI object";
 
   //  Attributes Managed by this plugin can be used in post events
-  protected $attributes   = array("lock_type","lock_name","lock_dn");  
+  public $attributes   = array("lock_type","lock_name","lock_dn");  
 
   var $dispNewBranch=false;
   var $dispNewFreeze=false;
@@ -182,7 +182,7 @@ class faiManagement extends management
     }
 
     // Automatically disable pasting process since there is no entry left to paste.
-    if(!$this->cpHandler->entries_queued()){
+    if(isset($this->cpHandler) && !$this->cpHandler->entries_queued()){
       $this->cpPastingStarted = FALSE;
     }
     return("");
@@ -374,6 +374,9 @@ class faiManagement extends management
    */
   function removeFAIObjects($to_delete)
   {
+    // Close dialogs and remove locks for currently handled dns
+    $this->cancelEdit();
+
     // Do not allow to remove objects with state freeezed
     $errors = $disallowed = array();
   
@@ -397,20 +400,35 @@ class faiManagement extends management
     }
 
     // Check entry locking
+    $smarty = get_smarty();
     if(count($this->dns)){
       if ($user= get_multiple_locks($this->dns)){
         return(gen_locked_message($user,$this->dns));
       }
       if(count($this->dns)){
-        $smarty = get_smarty();
+
+        // Add locks
         $dns_names = array();
+        $types = array();
+        $h = $this->getHeadpage();
+
+        // Build list of object -labels
+        foreach($h->objectTypes as $type){
+          $map[$type['objectClass']]= $type['label'];
+        }
+
         foreach($this->dns as $dn){
-          add_lock ($dn, $this->ui->dn);
-          $dns_names[] = LDAP::fix($dn);
+          $tmp = $h->getType($dn);
+          if(isset($map[$tmp])){
+            $dns_names[] = '('._($map[$tmp]).') - '.LDAP::fix($dn);
+          }else{
+            $dns_names[] =LDAP::fix($dn);
+          }
         }
-        $smarty->assign("info",msgPool::deleteInfo($dns_names,_("FAI object")));
-        $smarty->assign("multiple", true);
-        return($smarty->fetch(get_template_path('remove.tpl', TRUE)));
+        add_lock ($this->dns, $this->ui->dn);
+
+        $smarty->assign("info",msgPool::deleteInfo($dns_names));
+        return($smarty->fetch(get_template_path('removeEntries.tpl', TRUE)));
       }
     }
   }
@@ -504,6 +522,7 @@ class faiManagement extends management
     // Now save changes
     FAI::save_release_changes_now();
     $to_del = FAI::clean_up_releases($this->last_dn);
+    $ldap= $this->config->get_ldap_link();
     foreach($to_del as $dn){
       $ldap->rmdir_recursive($dn);
     }
@@ -617,7 +636,7 @@ class faiManagement extends management
           $this->fai_release = $this->fai_base;
           $this->lock_name   = $name;
           $this->lock_dn     = $bb;
-          $this->postremove();
+          $this->handle_post_events('remove');
 
           $fai_filter = session::get("fai_filter");
           $fai_filter['fai_release'] = $this->fai_release;
@@ -798,13 +817,11 @@ class faiManagement extends management
 
       $this->dispNewFreeze = false;
 
-      /* Postcreate */
-
       /* Assign possible attributes */
       $this->lock_type  = $type;
       $this->lock_name  = $name;
       $this->lock_dn    = $baseToUse;
-      $this->postcreate();
+      $this->handle_post_events('add');
 
       /* Send daemon event to reload the fai release database
        */