X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FPeopleEntryArea.java;h=eb39e062c29a439628f788951ae92d8b1fafa5b3;hb=446d637e8e7c48edce93f11de493fdf22171eb3e;hp=ab06bcaa1ea9118a7b0f387b9e57eb8f5ebd182f;hpb=1cbfdee214c534cddb5334d72669e3a26fa237e8;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java b/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java index ab06bca..eb39e06 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java @@ -25,8 +25,8 @@ import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.Selected; import org.argeo.cms.swt.acr.SwtUiProvider; -import org.argeo.cms.swt.widgets.SwtHierarchicalPart; -import org.argeo.cms.swt.widgets.SwtTabularPart; +import org.argeo.cms.swt.widgets.SwtTableView; +import org.argeo.cms.swt.widgets.SwtTreeView; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.cms.ux.widgets.AbstractHierarchicalPart; import org.argeo.cms.ux.widgets.Column; @@ -97,7 +97,10 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { || CurrentUser.implies(CmsRole.userAdmin, IpaUtils.IPA_ACCOUNTS_RDN + "," + directory.getBase())) // IPA { - visible.add(directory); + // we do not show the base level + for (HierarchyUnit hu : directory.getDirectHierarchyUnits(true)) { + visible.add(hu); + } } } @@ -110,9 +113,13 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { return model.getHierarchyUnitName(); } + @Override + public CmsIcon getIcon(HierarchyUnit model) { + return SuiteIcon.group; + } + }; - SwtHierarchicalPart directoriesView = new SwtHierarchicalPart<>(sashForm, SWT.NONE, - hierarchyPart); + SwtTreeView directoriesView = new SwtTreeView<>(sashForm, SWT.NONE, hierarchyPart); DefaultTabularPart usersPart = new DefaultTabularPart<>() { @@ -178,7 +185,7 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { }); usersPart.addColumn((Column) (role) -> role.attr(LdapAttrs.mail.qName())); - SwtTabularPart usersView = new SwtTabularPart<>(sashForm, SWT.NONE, usersPart); + SwtTableView usersView = new SwtTableView<>(sashForm, SWT.NONE, usersPart); // toolbar Composite bottom = new Composite(parent, SWT.NONE); @@ -198,7 +205,10 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { // CONTROLLER hierarchyPart.onSelected((o) -> { if (o instanceof HierarchyUnit) { - usersPart.setInput((HierarchyUnit) o); + HierarchyUnit hierarchyUnit = (HierarchyUnit) o; + usersPart.setInput(hierarchyUnit); + cmsView.sendEvent(SuiteEvent.refreshPart.topic(), + SuiteEvent.eventProperties(ContentUtils.hierarchyUnitToContent(contentSession, hierarchyUnit))); } });