X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=swt%2Forg.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FUserColumn.java;fp=swt%2Forg.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FUserColumn.java;h=c8c4ae1f560c9e4767536fce129196691e20000b;hb=bb0d8f19da5caff8bad3986e17cdff4cb5dcd236;hp=0000000000000000000000000000000000000000;hpb=932dbdce11c1a862b6a7babcb91bfec8e491e0b8;p=gpl%2Fargeo-suite.git diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java new file mode 100644 index 0000000..c8c4ae1 --- /dev/null +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java @@ -0,0 +1,39 @@ +package org.argeo.app.ui.people; + +import org.argeo.api.acr.Content; +import org.argeo.api.acr.ldap.LdapAttr; +import org.argeo.api.acr.ldap.LdapObj; +import org.argeo.api.cms.ux.CmsIcon; +import org.argeo.app.ui.SuiteIcon; +import org.argeo.cms.auth.UserAdminUtils; +import org.argeo.cms.ux.widgets.Column; +import org.osgi.service.useradmin.User; + +public class UserColumn implements Column { + @Override + public String getText(Content role) { + if (role.hasContentClass(LdapObj.inetOrgPerson)) + return UserAdminUtils.getUserDisplayName(role.adapt(User.class)); + else if (role.hasContentClass(LdapObj.organization)) + return role.attr(LdapAttr.o); + else if (role.hasContentClass(LdapObj.groupOfNames)) + return role.attr(LdapAttr.cn); + else + return null; + } + + @Override + public CmsIcon getIcon(Content role) { + if (role.hasContentClass(LdapObj.posixAccount)) + return SuiteIcon.user; + else if (role.hasContentClass(LdapObj.inetOrgPerson)) + return SuiteIcon.person; + else if (role.hasContentClass(LdapObj.organization)) + return SuiteIcon.organisationContact; + else if (role.hasContentClass(LdapObj.groupOfNames)) + return SuiteIcon.group; + else + return null; + } + +}