diff --git a/gms/src/main/java/it/inaf/ia2/gms/manager/GroupStatusManager.java b/gms/src/main/java/it/inaf/ia2/gms/manager/GroupStatusManager.java index 4570303ce6d229884e47c28f9881f49d28c150d3..f3792ca8d1a87e804212b7b8731c560b94251159 100644 --- a/gms/src/main/java/it/inaf/ia2/gms/manager/GroupStatusManager.java +++ b/gms/src/main/java/it/inaf/ia2/gms/manager/GroupStatusManager.java @@ -46,7 +46,7 @@ public class GroupStatusManager extends UserAwareComponent { Permission groupPermission = permissionsManager.getCurrentUserPermission(parentGroup); - if (Permission.includes(Permission.VIEW_MEMBERS, groupPermission)) { + if (!Permission.includes(groupPermission, Permission.VIEW_MEMBERS)) { throw new UnauthorizedException("VIEW_MEMBERS permission is needed for performing this action"); } @@ -82,16 +82,18 @@ public class GroupStatusManager extends UserAwareComponent { for (int i = 0; i < groups.size(); i++) { GroupEntity group = groups.get(i); String groupName = names.get(group.getId()); - List<String> users = membersMap.get(group.getId()); - if (users != null) { - for (String userId : users) { - String email = usersMap.get(userId); - if (email == null) { - LOG.warn("Unable to retrieve information about user " + userId); - continue; + if (groupName != null) { + List<String> users = membersMap.get(group.getId()); + if (users != null) { + for (String userId : users) { + String email = usersMap.get(userId); + if (email == null) { + LOG.warn("Unable to retrieve information about user " + userId); + continue; + } + String[] row = new String[]{groupName, email}; + rows.add(row); } - String[] row = new String[]{groupName, email}; - rows.add(row); } } }