]> git.argeo.org Git - gpl/argeo-suite.git/blob - UserColumn.java
2214a15689196c7b0a3b6723a01cbcd90ad5b706
[gpl/argeo-suite.git] / UserColumn.java
1 package org.argeo.app.ui.people;
2
3 import org.argeo.api.acr.Content;
4 import org.argeo.api.acr.ldap.LdapAcrUtils;
5 import org.argeo.api.acr.ldap.LdapAttr;
6 import org.argeo.api.acr.ldap.LdapObj;
7 import org.argeo.api.cms.ux.CmsIcon;
8 import org.argeo.app.ux.SuiteIcon;
9 import org.argeo.cms.CurrentUser;
10 import org.argeo.cms.auth.UserAdminUtils;
11 import org.argeo.cms.ux.widgets.Column;
12 import org.osgi.service.useradmin.User;
13
14 public class UserColumn implements Column<Content> {
15 @Override
16 public String getText(Content role) {
17 if (role.hasContentClass(LdapObj.inetOrgPerson))
18 return UserAdminUtils.getUserDisplayName(role.adapt(User.class));
19 else if (role.hasContentClass(LdapObj.organization))
20 return role.attr(LdapAttr.o);
21 else if (role.hasContentClass(LdapObj.groupOfNames)) {
22 // TODO make it more generic at ACR level
23 Object label = LdapAcrUtils.getLocalized(role, LdapAttr.cn.qName(), CurrentUser.locale());
24 return label.toString();
25 } else
26 return null;
27 }
28
29 @Override
30 public CmsIcon getIcon(Content role) {
31 if (role.hasContentClass(LdapObj.posixAccount))
32 return SuiteIcon.user;
33 else if (role.hasContentClass(LdapObj.inetOrgPerson))
34 return SuiteIcon.person;
35 else if (role.hasContentClass(LdapObj.organization))
36 return SuiteIcon.organisationContact;
37 else if (role.hasContentClass(LdapObj.groupOfNames))
38 return SuiteIcon.group;
39 else
40 return null;
41 }
42
43 }