+ public List<HierarchyUnit> getChildren(HierarchyUnit parent) {
+ List<HierarchyUnit> visible = new ArrayList<>();
+ if (parent != null) {
+ for (HierarchyUnit hu : parent.getDirectHierarchyUnits(true)) {
+ if (CurrentUser.implies(CmsRole.userAdmin, hu.getBase()) //
+ ) // IPA
+ {
+ visible.add(hu);
+ }
+ }
+ } else {
+ for (UserDirectory directory : cmsUserManager.getUserDirectories()) {
+ if (CurrentUser.implies(CmsRole.userAdmin, directory.getBase()) //
+ || CurrentUser.implies(CmsRole.userAdmin,
+ IpaUtils.IPA_ACCOUNTS_RDN + "," + directory.getBase())) // IPA
+ {
+ visible.add(directory);
+ }
+
+ }
+ }
+ return visible;
+ }