]> git.argeo.org Git - gpl/argeo-suite.git/blob - swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java
f0a5b38a90dbe6a442632f93b830b51280159932
[gpl/argeo-suite.git] / swt / org.argeo.app.ui / src / org / argeo / app / ui / people / GroupUiProvider.java
1 package org.argeo.app.ui.people;
2
3 import org.argeo.api.acr.Content;
4 import org.argeo.api.acr.ldap.LdapAttr;
5 import org.argeo.api.acr.ldap.LdapObj;
6 import org.argeo.api.cms.directory.CmsGroup;
7 import org.argeo.api.cms.directory.CmsUserManager;
8 import org.argeo.api.cms.directory.HierarchyUnit;
9 import org.argeo.app.ui.SuiteMsg;
10 import org.argeo.app.ui.SuiteUiUtils;
11 import org.argeo.cms.CurrentUser;
12 import org.argeo.cms.swt.acr.SwtUiProvider;
13 import org.eclipse.swt.widgets.Composite;
14 import org.eclipse.swt.widgets.Control;
15 import org.eclipse.swt.widgets.Label;
16 import org.osgi.service.useradmin.Role;
17
18 public class GroupUiProvider implements SwtUiProvider {
19 private CmsUserManager cmsUserManager;
20
21 @Override
22 public Control createUiPart(Composite parent, Content context) {
23 CmsGroup group = context.adapt(CmsGroup.class);
24 Content hierarchyUnitContent = context.getParent().getParent();
25 HierarchyUnit hierarchyUnit = hierarchyUnitContent.adapt(HierarchyUnit.class);
26
27 // TODO localise at content level
28 String title;
29 if (context.hasContentClass(LdapObj.organization))
30 title = SuiteMsg.org.lead() + " " + context.attr(LdapAttr.cn) + " ("
31 + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")";
32 else
33 title = SuiteMsg.group.lead() + " " + context.attr(LdapAttr.cn) + " ("
34 + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")";
35 SuiteUiUtils.addFormLabel(parent, title);
36
37 for (Role member : group.getMembers()) {
38 new Label(parent, 0).setText(member.getName());
39 }
40 return null;
41
42 }
43
44 public void setCmsUserManager(CmsUserManager cmsUserManager) {
45 this.cmsUserManager = cmsUserManager;
46 }
47
48 }