X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-plugins%2Ffai%2Fadmin%2Ffai%2Fclass_faiManagement.inc;h=72031cfd93868a7ad1b093cc8cfdd541170052f9;hb=8f7080e4d548a1257a13753c0881a2baf4ff45ed;hp=bd9db783416e8693b5bbcd627cc1506669e8f804;hpb=203ee8ef3af337d4369697a09654b103566a1314;p=gosa.git diff --git a/gosa-plugins/fai/admin/fai/class_faiManagement.inc b/gosa-plugins/fai/admin/fai/class_faiManagement.inc index bd9db7834..72031cfd9 100644 --- a/gosa-plugins/fai/admin/fai/class_faiManagement.inc +++ b/gosa-plugins/fai/admin/fai/class_faiManagement.inc @@ -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 */