From 55432f7179a815ff38f57818ab63c7af6567d881 Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Wed, 25 Nov 2020 18:55:41 +0100
Subject: [PATCH] Bugfix GroupStatusManager

---
 .../ia2/gms/manager/GroupStatusManager.java   | 22 ++++++++++---------
 1 file changed, 12 insertions(+), 10 deletions(-)

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 4570303..f3792ca 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);
                 }
             }
         }
-- 
GitLab