X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=swt%2Forg.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FGroupUiProvider.java;h=755821ac17831506a7056710b92aaf4e0165f308;hb=0b492f2cfb8a24ec84e1dd52825624f5e9ab7e81;hp=6b5eccd45179798bb81e1d547beb9e495d7b740f;hpb=d917d2b10162a29cddaf8c81c362efa37abcaab9;p=gpl%2Fargeo-suite.git diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java index 6b5eccd..755821a 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java @@ -1,19 +1,44 @@ package org.argeo.app.ui.people; import org.argeo.api.acr.Content; -import org.argeo.cms.CmsUserManager; +import org.argeo.api.acr.ldap.LdapAttrs; +import org.argeo.api.acr.ldap.LdapObjs; +import org.argeo.api.cms.directory.CmsGroup; +import org.argeo.api.cms.directory.CmsUserManager; +import org.argeo.api.cms.directory.HierarchyUnit; +import org.argeo.app.ui.SuiteMsg; +import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.cms.CurrentUser; import org.argeo.cms.swt.acr.SwtUiProvider; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; +import org.osgi.service.useradmin.Role; public class GroupUiProvider implements SwtUiProvider { private CmsUserManager cmsUserManager; @Override public Control createUiPart(Composite parent, Content context) { - new Label(parent, 0).setText("Group " + context); + CmsGroup group = context.adapt(CmsGroup.class); + Content hierarchyUnitContent = context.getParent().getParent(); + HierarchyUnit hierarchyUnit = hierarchyUnitContent.adapt(HierarchyUnit.class); + + // TODO localise at content level + String title; + if (context.hasContentClass(LdapObjs.organization)) + title = SuiteMsg.org.lead() + " " + context.attr(LdapAttrs.cn) + " (" + + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")"; + else + title = SuiteMsg.group.lead() + " " + context.attr(LdapAttrs.cn) + " (" + + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")"; + SuiteUiUtils.addFormLabel(parent, title); + + for (Role member : group.getMembers()) { + new Label(parent, 0).setText(member.getName()); + } return null; + } public void setCmsUserManager(CmsUserManager cmsUserManager) {