Improve localisation
authorMathieu <mbaudier@argeo.org>
Thu, 1 Dec 2022 06:30:22 +0000 (07:30 +0100)
committerMathieu <mbaudier@argeo.org>
Thu, 1 Dec 2022 06:30:22 +0000 (07:30 +0100)
swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java
swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java

index 25a72584dce442aedabf6154c4661712a6d83842..f0de1ca59d356e9b4c5f4453a87a15ee7e2d6367 100644 (file)
@@ -2,6 +2,7 @@ package org.argeo.app.ui.people;
 
 import org.argeo.api.acr.Content;
 import org.argeo.api.acr.ContentSession;
 
 import org.argeo.api.acr.Content;
 import org.argeo.api.acr.ContentSession;
+import org.argeo.api.acr.ldap.LdapAcrUtils;
 import org.argeo.api.acr.ldap.LdapAttr;
 import org.argeo.api.acr.ldap.LdapObj;
 import org.argeo.api.acr.spi.ProvidedContent;
 import org.argeo.api.acr.ldap.LdapAttr;
 import org.argeo.api.acr.ldap.LdapObj;
 import org.argeo.api.acr.spi.ProvidedContent;
@@ -71,13 +72,9 @@ public class GroupUiProvider implements SwtUiProvider {
 
                // title
                // TODO localise at content level
 
                // title
                // TODO localise at content level
-               String title;
-               if (context.hasContentClass(LdapObj.organization))
-                       title = SuiteMsg.org.lead() + " " + context.attr(LdapAttr.cn) + " ("
-                                       + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")";
-               else
-                       title = SuiteMsg.group.lead() + " " + context.attr(LdapAttr.cn) + " ("
-                                       + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")";
+               String title = (context.hasContentClass(LdapObj.organization) ? SuiteMsg.org.lead() : SuiteMsg.group.lead())
+                               + " " + LdapAcrUtils.getLocalized(context, LdapAttr.cn.qName(), CurrentUser.locale()) + " ("
+                               + hierarchyUnit.getHierarchyUnitLabel(CurrentUser.locale()) + ")";
                SuiteUiUtils.addFormLabel(area, title);
 
                // toolbar
                SuiteUiUtils.addFormLabel(area, title);
 
                // toolbar
index c8c4ae1f560c9e4767536fce129196691e20000b..9dae8a4f7e51da22aeb55616ad33e87de649bb4c 100644 (file)
@@ -1,10 +1,12 @@
 package org.argeo.app.ui.people;
 
 import org.argeo.api.acr.Content;
 package org.argeo.app.ui.people;
 
 import org.argeo.api.acr.Content;
+import org.argeo.api.acr.ldap.LdapAcrUtils;
 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.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.CurrentUser;
 import org.argeo.cms.auth.UserAdminUtils;
 import org.argeo.cms.ux.widgets.Column;
 import org.osgi.service.useradmin.User;
 import org.argeo.cms.auth.UserAdminUtils;
 import org.argeo.cms.ux.widgets.Column;
 import org.osgi.service.useradmin.User;
@@ -16,9 +18,11 @@ public class UserColumn implements Column<Content> {
                        return UserAdminUtils.getUserDisplayName(role.adapt(User.class));
                else if (role.hasContentClass(LdapObj.organization))
                        return role.attr(LdapAttr.o);
                        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
+               else if (role.hasContentClass(LdapObj.groupOfNames)) {
+                       // TODO make it more generic at ACR level
+                       Object label = LdapAcrUtils.getLocalized(role, LdapAttr.cn.qName(), CurrentUser.locale());
+                       return label.toString();
+               } else
                        return null;
        }
 
                        return null;
        }