diff --git a/trunk/gosa-plugins/fai/admin/fai/class_askClassName.inc b/trunk/gosa-plugins/fai/admin/fai/class_askClassName.inc
index 6b9c49649e97ad30f53ec4ed00244fe5b4cbd324..de302bd2ad75a5fe0dfd775d99560c2a6ee72483 100644 (file)
if(in_array($this->ClassName,$this->forbidden)){
$message[]= msgPool::duplicated(_("Name"));
}
-
- /* Check if the given ClassName is already used in another administrative unit */
- $parent_tag = $this->get_gosaUnitTag($this->parent->base);
-
- $ldap= $this->config->get_ldap_link();
- $filter = "(&(cn=".$this->ClassName.")(!(gosaUnitTag=".$parent_tag.")))";
- $ldap->search($filter, array("dn","gosaUnitTag"));
-
- if ($ldap->count() > 0) {
- $entry = $ldap->fetch();
-
- /* Find out which administrative unit is using the classname */
- $ldap->cd($this->config->current['BASE']);
- $filter = "(&(objectClass=gosaAdministrativeUnit)(gosaUnitTag=".$entry['gosaUnitTag'][0]."))";
- $ldap->search($filter, array('dn', 'ou'));
+ else {
+ /* Check if the given ClassName is already used in another administrative unit */
+ $ldap= $this->config->get_ldap_link();
+ $filter = "(cn=".$this->ClassName.")";
+ $ldap->cd($this->parent->fai_release);
+ $ldap->search($filter, array("dn","gosaUnitTag"));
if ($ldap->count() > 0) {
$entry = $ldap->fetch();
- $used_by = $entry['ou'][0];
- } else {
- $used_by = $entry['gosaUnitTag'][0];
- }
-
- $message[]= sprintf(_("This FAI class name is already in use by the administrative unit '%s'."), $used_by);
-
- }
+ /* Find out which administrative unit is using the classname */
+ $ldap->cd($this->config->current['BASE']);
+ $filter = "(&(objectClass=gosaAdministrativeUnit)(gosaUnitTag=".$entry['gosaUnitTag'][0]."))";
+ $ldap->search($filter, array('dn', 'ou'));
+
+ if ($ldap->count() > 0) {
+ $entry = $ldap->fetch();
+ $used_by = $entry['ou'][0];
+ } else {
+ $used_by = $entry['gosaUnitTag'][0];
+ }
+
+ $message[]= sprintf(_("This FAI class name is already in use by the administrative unit '%s'."), $used_by);
+ }
+ }
return ($message);
}