diff --git a/plugins/admin/departments/class_departmentGeneric.inc b/plugins/admin/departments/class_departmentGeneric.inc
index d7f709f807c0bba378e15205cedf535a838916bd..b1fd4b313884f6bf7a3843ae0fb6c71786af6107 100644 (file)
$this->config->make_idepartments();
$smarty= get_smarty();
-
- /* Show main page */
- $smarty->assign("bases", $this->config->idepartments);
+ /* Hide all departments, that are subtrees of this department */
+ $bases = $this->config->idepartments;
+ $tmp = array();
+ foreach($bases as $dn=>$base){
+ $fixed = str_replace("/","\\",$this->dn);
+ /* Only attach departments which are not a subtree of this one */
+ if(!preg_match("/".$fixed."/",$dn)){
+ $tmp[$dn]=$base;
+ }
+ }
+ $smarty->assign("bases", $tmp);
foreach ($this->attributes as $val){
$smarty->assign("$val", $this->$val);
$smarty->assign("$val"."ACL", chkacl($this->acl, "$val"));
}
- $smarty->assign("bases", $this->config->idepartments);
$smarty->assign("base_select", $this->base);
return($smarty->fetch (get_template_path('generic.tpl', TRUE)));
}
$message[]= _("The field 'Name' contains the reserved word 'incoming'.".
" Please choose another name.");
}
- if (preg_match ('/[,#+:=>\\\\]/', $this->ou)){
+ if (preg_match ('/[,#+:=>\\\\\/]/', $this->ou)){
$message[]= _("The field 'Name' contains invalid characters.");
}
if (!is_phone_nr($this->telephoneNumber)){