X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Feditors%2FUserEditor.java;h=761f48b80f0d4292f3858f85fe1cffaad6245090;hb=1b8ad59bf691c15ed1317378a83c71c56c81cad2;hp=f2f233fe4f3a3f9a5613bb6d0c0e15dd595d8f78;hpb=f090d55a56532e0e6c2cde5760a451e56ef25f1c;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/editors/UserEditor.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/editors/UserEditor.java index f2f233fe4..761f48b80 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/editors/UserEditor.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/editors/UserEditor.java @@ -15,6 +15,9 @@ */ package org.argeo.security.ui.admin.editors; +import java.util.ArrayList; +import java.util.List; + import org.argeo.ArgeoException; import org.argeo.security.ui.admin.SecurityAdminImages; import org.argeo.security.ui.admin.SecurityAdminPlugin; @@ -24,6 +27,7 @@ import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.forms.editor.FormEditor; +import org.osgi.service.useradmin.Authorization; import org.osgi.service.useradmin.Role; import org.osgi.service.useradmin.User; import org.osgi.service.useradmin.UserAdmin; @@ -61,6 +65,19 @@ public class UserEditor extends FormEditor implements UserAdminConstants { : SecurityAdminImages.ICON_USER); } + protected List getFlatGroups() { + Authorization currAuth = userAdmin.getAuthorization(user); + String[] roles = currAuth.getRoles(); + + List groups = new ArrayList(); + for (String roleStr : roles) { + User currRole = (User) userAdmin.getRole(roleStr); + if (!groups.contains(currRole)) + groups.add(currRole); + } + return groups; + } + /** Exposes the user (or group) that is displayed by the current editor */ protected User getDisplayedUser() { return user; @@ -72,12 +89,10 @@ public class UserEditor extends FormEditor implements UserAdminConstants { protected void addPages() { try { - if (user.getType() == Role.GROUP) addPage(new GroupMainPage(this, userAdmin)); else addPage(new UserMainPage(this, userAdmin)); - } catch (Exception e) { throw new ArgeoException("Cannot add pages", e); }