From: hickert Date: Tue, 20 Oct 2009 08:38:36 +0000 (+0000) Subject: Updated repository service X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=d853cc4f78378cc941d0704e3a6430287789edd7;p=gosa.git Updated repository service - prevent removal of used repositories git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@14608 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/gosa-plugins/fai/admin/systems/services/repository/class_servRepository.inc b/gosa-plugins/fai/admin/systems/services/repository/class_servRepository.inc index 3a097e261..f64861b2b 100644 --- a/gosa-plugins/fai/admin/systems/services/repository/class_servRepository.inc +++ b/gosa-plugins/fai/admin/systems/services/repository/class_servRepository.inc @@ -330,6 +330,33 @@ class servrepository extends goService } + function allow_remove() + { + /* Check if the service is still in use + */ + $ldap = $this->config->get_ldap_link(); + $ldap->cd($this->config->current['BASE']); + foreach($this->repositories as $repository) { + $url = $repository['Url']; + $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(FAIdebianMirror=".$url."))",array("cn","FAIclass")); + if ($ldap->count() != 0){ + $obj= array(); + $found= false; + while($attrs = $ldap->fetch()){ + foreach($attrs['FAIclass'] as $class){ + $obj[$ldap->getDN()]= $attrs['cn'][0]; + $found= true; + } + } + if ($found){ + $message = msgPool::stillInUse(_("Repository service")) . msgPool::buildList($obj); + return $message; + } + } + } + } + + function remove_from_parent() { goService::remove_from_parent();