From 4d01a9a38b0ed062d7f37e1e904ef175c88a6ce8 Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Mon, 19 Oct 2020 12:49:58 +0200 Subject: [PATCH] improved AcceptMembershipRequests method --- CHANGELOG.md | 4 ++-- .../usermanagement/impl/LiferayUserManager.java | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f26762..40a2c7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,11 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [v2.5.2] - 2020-10-16 +## [v2.5.2] - 2020-10-19 Bug Fix -[#19978] LiferayUserManager#listMembershipRequestsByGroup issue in returned list +[#19978] LiferayUserManager#listMembershipRequestsByGroup issue in returned list and improved AcceptMembershipRequests method ## [v2.5.1] [r4.25.0] - 2020-07-10 diff --git a/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayUserManager.java b/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayUserManager.java index 182561f..38174cb 100644 --- a/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayUserManager.java +++ b/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayUserManager.java @@ -973,16 +973,17 @@ public class LiferayUserManager implements UserManager { public GCubeMembershipRequest acceptMembershipRequest(long requestUserId,long groupId, boolean addUserToGroup, String replyUsername, String replyComment) throws UserManagementSystemException, GroupRetrievalFault, UserManagementPortalException { try { GCubeUser replyMan = getUserByUsername(replyUsername); - List requests = listMembershipRequestsByGroup(groupId); - for (GCubeMembershipRequest req : requests) { - if (req.getRequestingUser().getUserId() == requestUserId) { + List requests = MembershipRequestLocalServiceUtil.getMembershipRequests(requestUserId, groupId, 0); + //List requests = listMembershipRequestsByGroup(groupId); + for (MembershipRequest req : requests) { + if (req.getUserId() == requestUserId) { MembershipRequestLocalServiceUtil.updateStatus(replyMan.getUserId(), req.getMembershipRequestId(), replyComment, 1, addUserToGroup, new ServiceContext()); //the method above just adds the user to the VRE, it is needed to add the user to the parent Sites as well (VO and RootVO) assignUserToGroup(GroupLocalServiceUtil.getGroup(groupId).getParentGroupId(), requestUserId); - + _log.info("Accepted membership request: requestUserId="+requestUserId); return mapLRMembershipRequest(MembershipRequestLocalServiceUtil.getMembershipRequest(req.getMembershipRequestId())); } - } + } } catch (UserRetrievalFault e) { e.printStackTrace();