mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00
Merge pull request #1361 from KevinVdV/DS-3138-jspui-remove-member-from-group
[DS-3138] JSPUI Exception when a EPerson is removed from a Group
This commit is contained in:
@@ -24,10 +24,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Servlet for editing groups
|
||||
@@ -106,6 +103,13 @@ public class GroupEditServlet extends DSpaceServlet
|
||||
|
||||
// now get members, and add new ones and remove missing ones
|
||||
List<EPerson> members = group.getMembers();
|
||||
List<UUID> memberIdentifiers = new ArrayList<>();
|
||||
// Store all the identifiers of our current members
|
||||
for (EPerson member : members)
|
||||
{
|
||||
memberIdentifiers.add(member.getID());
|
||||
}
|
||||
|
||||
List<Group> membergroups = group.getMemberGroups();
|
||||
|
||||
if (eperson_ids != null)
|
||||
@@ -138,11 +142,11 @@ public class GroupEditServlet extends DSpaceServlet
|
||||
}
|
||||
|
||||
// process members, removing any that aren't in eperson_ids
|
||||
for (EPerson e : members)
|
||||
for (UUID personId : memberIdentifiers)
|
||||
{
|
||||
if (!epersonIDSet.contains(e.getID()))
|
||||
if (!epersonIDSet.contains(personId))
|
||||
{
|
||||
groupService.removeMember(c, group, e);
|
||||
groupService.removeMember(c, group, personService.find(c, personId));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -150,9 +154,9 @@ public class GroupEditServlet extends DSpaceServlet
|
||||
{
|
||||
// no members found (ids == null), remove them all!
|
||||
|
||||
for (EPerson e : members)
|
||||
for (UUID personId : memberIdentifiers)
|
||||
{
|
||||
groupService.removeMember(c, group, e);
|
||||
groupService.removeMember(c, group, personService.find(c, personId));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user