Loading gms/pom.xml +1 −1 Original line number Original line Diff line number Diff line Loading @@ -165,7 +165,7 @@ <plugin> <plugin> <groupId>org.jacoco</groupId> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.4</version> <version>0.8.6</version> <executions> <executions> <execution> <execution> <goals> <goals> Loading gms/src/main/java/it/inaf/ia2/gms/controller/HomePageController.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -82,9 +82,9 @@ public class HomePageController { @GetMapping(value = "/", produces = MediaType.TEXT_HTML_VALUE) @GetMapping(value = "/", produces = MediaType.TEXT_HTML_VALUE) public String index(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { public String index(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Optional<InvitedRegistration> optReg = invitedRegistrationManager.completeInvitedRegistrationIfNecessary(); Optional<List<InvitedRegistration>> optReg = invitedRegistrationManager.completeInvitedRegistrationIfNecessary(); if (optReg.isPresent()) { if (optReg.isPresent()) { request.setAttribute("invited-registration", optReg.get()); request.setAttribute("invited-registrations", optReg.get()); return "/registration-completed"; return "/registration-completed"; } } Loading gms/src/main/java/it/inaf/ia2/gms/controller/InvitedRegistrationController.java +13 −9 Original line number Original line Diff line number Diff line Loading @@ -5,6 +5,8 @@ import it.inaf.ia2.gms.persistence.model.InvitedRegistration; import it.inaf.ia2.gms.service.GroupNameService; import it.inaf.ia2.gms.service.GroupNameService; import java.io.IOException; import java.io.IOException; import java.io.InputStream; import java.io.InputStream; import java.util.Collections; import java.util.List; import java.util.Scanner; import java.util.Scanner; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse; Loading Loading @@ -32,7 +34,7 @@ public class InvitedRegistrationController { String html = getFileContent("invited-registration.html") String html = getFileContent("invited-registration.html") .replace("#EMAIL#", invitedRegistration.getEmail()) .replace("#EMAIL#", invitedRegistration.getEmail()) .replace("#GROUPS#", getGroupsList(invitedRegistration)) .replace("#GROUPS#", getGroupsList(Collections.singletonList(invitedRegistration))) .replace("#HOME#", request.getContextPath()); .replace("#HOME#", request.getContextPath()); response.getOutputStream().print(html); response.getOutputStream().print(html); Loading @@ -43,14 +45,14 @@ public class InvitedRegistrationController { response.setContentType("text/html;charset=UTF-8"); response.setContentType("text/html;charset=UTF-8"); InvitedRegistration invitedRegistration = (InvitedRegistration) request.getAttribute("invited-registration"); List<InvitedRegistration> invitedRegistrations = (List<InvitedRegistration>) request.getAttribute("invited-registrations"); if (invitedRegistration == null) { if (invitedRegistrations == null) { // redirect to home // redirect to home String baseUrl = ServletUriComponentsBuilder.fromCurrentContextPath().build().toUriString(); String baseUrl = ServletUriComponentsBuilder.fromCurrentContextPath().build().toUriString(); response.sendRedirect(baseUrl); response.sendRedirect(baseUrl); } else { } else { String html = getFileContent("registration-completed.html") String html = getFileContent("registration-completed.html") .replace("#GROUPS#", getGroupsList(invitedRegistration)) .replace("#GROUPS#", getGroupsList(invitedRegistrations)) .replace("#HOME#", request.getContextPath()); .replace("#HOME#", request.getContextPath()); response.getOutputStream().print(html); response.getOutputStream().print(html); Loading @@ -70,12 +72,14 @@ public class InvitedRegistrationController { } } } } private String getGroupsList(InvitedRegistration invitedRegistration) { private String getGroupsList(List<InvitedRegistration> invitedRegistrations) { String groups = "<ul>"; String groups = "<ul>"; for (InvitedRegistration invitedRegistration : invitedRegistrations) { for (String groupName : groupNameService.getGroupsNamesFromIdentifiers( for (String groupName : groupNameService.getGroupsNamesFromIdentifiers( invitedRegistration.getGroupsPermissions().keySet())) { invitedRegistration.getGroupsPermissions().keySet())) { groups += "<li>" + groupName + "</li>"; groups += "<li>" + groupName + "</li>"; } } } groups += "</ul>"; groups += "</ul>"; return groups; return groups; } } Loading gms/src/main/java/it/inaf/ia2/gms/controller/JWTWebServiceController.java +31 −8 Original line number Original line Diff line number Diff line Loading @@ -12,6 +12,7 @@ import it.inaf.ia2.gms.model.response.UserPermission; import it.inaf.ia2.gms.persistence.GroupsDAO; import it.inaf.ia2.gms.persistence.GroupsDAO; import it.inaf.ia2.gms.persistence.PermissionsDAO; import it.inaf.ia2.gms.persistence.PermissionsDAO; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.InvitedRegistration; import it.inaf.ia2.gms.persistence.model.PermissionEntity; import it.inaf.ia2.gms.persistence.model.PermissionEntity; import it.inaf.ia2.gms.service.GroupNameService; import it.inaf.ia2.gms.service.GroupNameService; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.GroupsService; Loading Loading @@ -277,6 +278,28 @@ public class JWTWebServiceController { response.setStatus(HttpServletResponse.SC_NO_CONTENT); response.setStatus(HttpServletResponse.SC_NO_CONTENT); } } @GetMapping(value = "/check-invited-registration", produces = MediaType.TEXT_PLAIN_VALUE) public void completeInvitedRegistrationIfNecessary(Principal principal, HttpServletResponse response) throws IOException { String userId = principal.getName(); Set<String> groupIds = new HashSet<>(); for (InvitedRegistration invitedRegistration : invitedRegistrationManager.completeInvitedRegistrationIfNecessary(userId)) { groupIds.addAll(invitedRegistration.getGroupsPermissions().keySet()); } List<GroupEntity> groups = groupsDAO.findGroupsByIds(groupIds); if (!groups.isEmpty()) { List<String> names = groupNameService.getGroupsNames(groups); try ( PrintWriter pw = new PrintWriter(response.getOutputStream())) { for (String name : names) { pw.println(name); } } } } @PostMapping(value = "/invited-registration", produces = MediaType.TEXT_PLAIN_VALUE) @PostMapping(value = "/invited-registration", produces = MediaType.TEXT_PLAIN_VALUE) public void addInvitedRegistration(@RequestParam("token_hash") String tokenHash, @RequestParam("email") String email, public void addInvitedRegistration(@RequestParam("token_hash") String tokenHash, @RequestParam("email") String email, @RequestParam("groups") String groupNamesAndPermissionsParam, HttpServletResponse response) { @RequestParam("groups") String groupNamesAndPermissionsParam, HttpServletResponse response) { Loading gms/src/main/java/it/inaf/ia2/gms/manager/InvitedRegistrationManager.java +60 −20 Original line number Original line Diff line number Diff line package it.inaf.ia2.gms.manager; package it.inaf.ia2.gms.manager; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.exception.BadRequestException; import it.inaf.ia2.gms.exception.BadRequestException; import it.inaf.ia2.gms.exception.NotFoundException; import it.inaf.ia2.gms.exception.NotFoundException; import it.inaf.ia2.gms.exception.UnauthorizedException; import it.inaf.ia2.gms.exception.UnauthorizedException; Loading @@ -12,6 +13,7 @@ import it.inaf.ia2.gms.persistence.MembershipsDAO; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.InvitedRegistration; import it.inaf.ia2.gms.persistence.model.InvitedRegistration; import it.inaf.ia2.gms.persistence.model.MembershipEntity; import it.inaf.ia2.gms.persistence.model.MembershipEntity; import it.inaf.ia2.gms.rap.RapClient; import it.inaf.ia2.gms.service.PermissionsService; import it.inaf.ia2.gms.service.PermissionsService; import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.MessageDigest; Loading @@ -23,6 +25,7 @@ import java.util.List; import java.util.Map; import java.util.Map; import java.util.Optional; import java.util.Optional; import java.util.UUID; import java.util.UUID; import java.util.stream.Collectors; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.stereotype.Service; Loading @@ -48,9 +51,15 @@ public class InvitedRegistrationManager extends UserAwareComponent { private InvitedRegistrationDAO invitedRegistrationDAO; private InvitedRegistrationDAO invitedRegistrationDAO; @Autowired @Autowired private LoggingDAO loggingDAO; private RapClient rapClient; @Autowired private SessionData sessionData; @Autowired @Autowired private LoggingDAO loggingDAO; @Autowired(required = false) private HttpSession httpSession; private HttpSession httpSession; public void addInvitedRegistration(String tokenHash, String email, Map<GroupEntity, Permission> groupsPermissions) { public void addInvitedRegistration(String tokenHash, String email, Map<GroupEntity, Permission> groupsPermissions) { Loading Loading @@ -93,12 +102,48 @@ public class InvitedRegistrationManager extends UserAwareComponent { } } } } public Optional<InvitedRegistration> completeInvitedRegistrationIfNecessary() { public Optional<List<InvitedRegistration>> completeInvitedRegistrationIfNecessary() { List<InvitedRegistration> invitedRegistrations = completeInvitedRegistrationIfNecessary(sessionData.getUserId()); InvitedRegistration invitedRegistrationFromToken = (InvitedRegistration) httpSession.getAttribute(INVITED_REGISTRATION); if (invitedRegistrationFromToken != null) { boolean alreadyDone = invitedRegistrations.stream().map(reg -> reg.getId()) .anyMatch(id -> id.equals(invitedRegistrationFromToken.getId())); if (!alreadyDone) { completeInvitedRegistration(invitedRegistrationFromToken); invitedRegistrations.add(invitedRegistrationFromToken); } httpSession.removeAttribute(INVITED_REGISTRATION); } return Optional.ofNullable(invitedRegistrations.isEmpty() ? null : invitedRegistrations); } /** * This method can be called from web service, since it doesn't rely on * session. */ public List<InvitedRegistration> completeInvitedRegistrationIfNecessary(String userId) { List<InvitedRegistration> invitedRegistrations = new ArrayList<>(); List<String> emailAddresses = rapClient.getUser(userId).getIdentities().stream() .map(identity -> identity.getEmail()) .collect(Collectors.toList()); InvitedRegistration invitedRegistration = (InvitedRegistration) httpSession.getAttribute(INVITED_REGISTRATION); for (InvitedRegistration invitedRegistration : invitedRegistrationDAO.getInvitedRegistrationsFromEmailAddresses(emailAddresses)) { completeInvitedRegistration(invitedRegistration); invitedRegistrations.add(invitedRegistration); } if (invitedRegistration != null) { return invitedRegistrations; } private void completeInvitedRegistration(InvitedRegistration invitedRegistration) { for (Map.Entry<String, Permission> entry : invitedRegistration.getGroupsPermissions().entrySet()) { for (Map.Entry<String, Permission> entry : invitedRegistration.getGroupsPermissions().entrySet()) { String groupId = entry.getKey(); String groupId = entry.getKey(); String userId = getCurrentUserId(); String userId = getCurrentUserId(); Loading @@ -117,11 +162,6 @@ public class InvitedRegistrationManager extends UserAwareComponent { // FIXME (workaround): separated update for user and done in order to use triggers // FIXME (workaround): separated update for user and done in order to use triggers invitedRegistrationDAO.setRegistrationUser(invitedRegistration); invitedRegistrationDAO.setRegistrationUser(invitedRegistration); invitedRegistrationDAO.setRegistrationDone(invitedRegistration); invitedRegistrationDAO.setRegistrationDone(invitedRegistration); httpSession.removeAttribute(INVITED_REGISTRATION); } return Optional.ofNullable(invitedRegistration); } } public List<InvitedRegistrationItem> getInvitedRegistrationsForGroup(GroupEntity group) { public List<InvitedRegistrationItem> getInvitedRegistrationsForGroup(GroupEntity group) { Loading Loading
gms/pom.xml +1 −1 Original line number Original line Diff line number Diff line Loading @@ -165,7 +165,7 @@ <plugin> <plugin> <groupId>org.jacoco</groupId> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.4</version> <version>0.8.6</version> <executions> <executions> <execution> <execution> <goals> <goals> Loading
gms/src/main/java/it/inaf/ia2/gms/controller/HomePageController.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -82,9 +82,9 @@ public class HomePageController { @GetMapping(value = "/", produces = MediaType.TEXT_HTML_VALUE) @GetMapping(value = "/", produces = MediaType.TEXT_HTML_VALUE) public String index(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { public String index(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Optional<InvitedRegistration> optReg = invitedRegistrationManager.completeInvitedRegistrationIfNecessary(); Optional<List<InvitedRegistration>> optReg = invitedRegistrationManager.completeInvitedRegistrationIfNecessary(); if (optReg.isPresent()) { if (optReg.isPresent()) { request.setAttribute("invited-registration", optReg.get()); request.setAttribute("invited-registrations", optReg.get()); return "/registration-completed"; return "/registration-completed"; } } Loading
gms/src/main/java/it/inaf/ia2/gms/controller/InvitedRegistrationController.java +13 −9 Original line number Original line Diff line number Diff line Loading @@ -5,6 +5,8 @@ import it.inaf.ia2.gms.persistence.model.InvitedRegistration; import it.inaf.ia2.gms.service.GroupNameService; import it.inaf.ia2.gms.service.GroupNameService; import java.io.IOException; import java.io.IOException; import java.io.InputStream; import java.io.InputStream; import java.util.Collections; import java.util.List; import java.util.Scanner; import java.util.Scanner; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse; Loading Loading @@ -32,7 +34,7 @@ public class InvitedRegistrationController { String html = getFileContent("invited-registration.html") String html = getFileContent("invited-registration.html") .replace("#EMAIL#", invitedRegistration.getEmail()) .replace("#EMAIL#", invitedRegistration.getEmail()) .replace("#GROUPS#", getGroupsList(invitedRegistration)) .replace("#GROUPS#", getGroupsList(Collections.singletonList(invitedRegistration))) .replace("#HOME#", request.getContextPath()); .replace("#HOME#", request.getContextPath()); response.getOutputStream().print(html); response.getOutputStream().print(html); Loading @@ -43,14 +45,14 @@ public class InvitedRegistrationController { response.setContentType("text/html;charset=UTF-8"); response.setContentType("text/html;charset=UTF-8"); InvitedRegistration invitedRegistration = (InvitedRegistration) request.getAttribute("invited-registration"); List<InvitedRegistration> invitedRegistrations = (List<InvitedRegistration>) request.getAttribute("invited-registrations"); if (invitedRegistration == null) { if (invitedRegistrations == null) { // redirect to home // redirect to home String baseUrl = ServletUriComponentsBuilder.fromCurrentContextPath().build().toUriString(); String baseUrl = ServletUriComponentsBuilder.fromCurrentContextPath().build().toUriString(); response.sendRedirect(baseUrl); response.sendRedirect(baseUrl); } else { } else { String html = getFileContent("registration-completed.html") String html = getFileContent("registration-completed.html") .replace("#GROUPS#", getGroupsList(invitedRegistration)) .replace("#GROUPS#", getGroupsList(invitedRegistrations)) .replace("#HOME#", request.getContextPath()); .replace("#HOME#", request.getContextPath()); response.getOutputStream().print(html); response.getOutputStream().print(html); Loading @@ -70,12 +72,14 @@ public class InvitedRegistrationController { } } } } private String getGroupsList(InvitedRegistration invitedRegistration) { private String getGroupsList(List<InvitedRegistration> invitedRegistrations) { String groups = "<ul>"; String groups = "<ul>"; for (InvitedRegistration invitedRegistration : invitedRegistrations) { for (String groupName : groupNameService.getGroupsNamesFromIdentifiers( for (String groupName : groupNameService.getGroupsNamesFromIdentifiers( invitedRegistration.getGroupsPermissions().keySet())) { invitedRegistration.getGroupsPermissions().keySet())) { groups += "<li>" + groupName + "</li>"; groups += "<li>" + groupName + "</li>"; } } } groups += "</ul>"; groups += "</ul>"; return groups; return groups; } } Loading
gms/src/main/java/it/inaf/ia2/gms/controller/JWTWebServiceController.java +31 −8 Original line number Original line Diff line number Diff line Loading @@ -12,6 +12,7 @@ import it.inaf.ia2.gms.model.response.UserPermission; import it.inaf.ia2.gms.persistence.GroupsDAO; import it.inaf.ia2.gms.persistence.GroupsDAO; import it.inaf.ia2.gms.persistence.PermissionsDAO; import it.inaf.ia2.gms.persistence.PermissionsDAO; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.InvitedRegistration; import it.inaf.ia2.gms.persistence.model.PermissionEntity; import it.inaf.ia2.gms.persistence.model.PermissionEntity; import it.inaf.ia2.gms.service.GroupNameService; import it.inaf.ia2.gms.service.GroupNameService; import it.inaf.ia2.gms.service.GroupsService; import it.inaf.ia2.gms.service.GroupsService; Loading Loading @@ -277,6 +278,28 @@ public class JWTWebServiceController { response.setStatus(HttpServletResponse.SC_NO_CONTENT); response.setStatus(HttpServletResponse.SC_NO_CONTENT); } } @GetMapping(value = "/check-invited-registration", produces = MediaType.TEXT_PLAIN_VALUE) public void completeInvitedRegistrationIfNecessary(Principal principal, HttpServletResponse response) throws IOException { String userId = principal.getName(); Set<String> groupIds = new HashSet<>(); for (InvitedRegistration invitedRegistration : invitedRegistrationManager.completeInvitedRegistrationIfNecessary(userId)) { groupIds.addAll(invitedRegistration.getGroupsPermissions().keySet()); } List<GroupEntity> groups = groupsDAO.findGroupsByIds(groupIds); if (!groups.isEmpty()) { List<String> names = groupNameService.getGroupsNames(groups); try ( PrintWriter pw = new PrintWriter(response.getOutputStream())) { for (String name : names) { pw.println(name); } } } } @PostMapping(value = "/invited-registration", produces = MediaType.TEXT_PLAIN_VALUE) @PostMapping(value = "/invited-registration", produces = MediaType.TEXT_PLAIN_VALUE) public void addInvitedRegistration(@RequestParam("token_hash") String tokenHash, @RequestParam("email") String email, public void addInvitedRegistration(@RequestParam("token_hash") String tokenHash, @RequestParam("email") String email, @RequestParam("groups") String groupNamesAndPermissionsParam, HttpServletResponse response) { @RequestParam("groups") String groupNamesAndPermissionsParam, HttpServletResponse response) { Loading
gms/src/main/java/it/inaf/ia2/gms/manager/InvitedRegistrationManager.java +60 −20 Original line number Original line Diff line number Diff line package it.inaf.ia2.gms.manager; package it.inaf.ia2.gms.manager; import it.inaf.ia2.gms.authn.SessionData; import it.inaf.ia2.gms.exception.BadRequestException; import it.inaf.ia2.gms.exception.BadRequestException; import it.inaf.ia2.gms.exception.NotFoundException; import it.inaf.ia2.gms.exception.NotFoundException; import it.inaf.ia2.gms.exception.UnauthorizedException; import it.inaf.ia2.gms.exception.UnauthorizedException; Loading @@ -12,6 +13,7 @@ import it.inaf.ia2.gms.persistence.MembershipsDAO; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.InvitedRegistration; import it.inaf.ia2.gms.persistence.model.InvitedRegistration; import it.inaf.ia2.gms.persistence.model.MembershipEntity; import it.inaf.ia2.gms.persistence.model.MembershipEntity; import it.inaf.ia2.gms.rap.RapClient; import it.inaf.ia2.gms.service.PermissionsService; import it.inaf.ia2.gms.service.PermissionsService; import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.MessageDigest; Loading @@ -23,6 +25,7 @@ import java.util.List; import java.util.Map; import java.util.Map; import java.util.Optional; import java.util.Optional; import java.util.UUID; import java.util.UUID; import java.util.stream.Collectors; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.stereotype.Service; Loading @@ -48,9 +51,15 @@ public class InvitedRegistrationManager extends UserAwareComponent { private InvitedRegistrationDAO invitedRegistrationDAO; private InvitedRegistrationDAO invitedRegistrationDAO; @Autowired @Autowired private LoggingDAO loggingDAO; private RapClient rapClient; @Autowired private SessionData sessionData; @Autowired @Autowired private LoggingDAO loggingDAO; @Autowired(required = false) private HttpSession httpSession; private HttpSession httpSession; public void addInvitedRegistration(String tokenHash, String email, Map<GroupEntity, Permission> groupsPermissions) { public void addInvitedRegistration(String tokenHash, String email, Map<GroupEntity, Permission> groupsPermissions) { Loading Loading @@ -93,12 +102,48 @@ public class InvitedRegistrationManager extends UserAwareComponent { } } } } public Optional<InvitedRegistration> completeInvitedRegistrationIfNecessary() { public Optional<List<InvitedRegistration>> completeInvitedRegistrationIfNecessary() { List<InvitedRegistration> invitedRegistrations = completeInvitedRegistrationIfNecessary(sessionData.getUserId()); InvitedRegistration invitedRegistrationFromToken = (InvitedRegistration) httpSession.getAttribute(INVITED_REGISTRATION); if (invitedRegistrationFromToken != null) { boolean alreadyDone = invitedRegistrations.stream().map(reg -> reg.getId()) .anyMatch(id -> id.equals(invitedRegistrationFromToken.getId())); if (!alreadyDone) { completeInvitedRegistration(invitedRegistrationFromToken); invitedRegistrations.add(invitedRegistrationFromToken); } httpSession.removeAttribute(INVITED_REGISTRATION); } return Optional.ofNullable(invitedRegistrations.isEmpty() ? null : invitedRegistrations); } /** * This method can be called from web service, since it doesn't rely on * session. */ public List<InvitedRegistration> completeInvitedRegistrationIfNecessary(String userId) { List<InvitedRegistration> invitedRegistrations = new ArrayList<>(); List<String> emailAddresses = rapClient.getUser(userId).getIdentities().stream() .map(identity -> identity.getEmail()) .collect(Collectors.toList()); InvitedRegistration invitedRegistration = (InvitedRegistration) httpSession.getAttribute(INVITED_REGISTRATION); for (InvitedRegistration invitedRegistration : invitedRegistrationDAO.getInvitedRegistrationsFromEmailAddresses(emailAddresses)) { completeInvitedRegistration(invitedRegistration); invitedRegistrations.add(invitedRegistration); } if (invitedRegistration != null) { return invitedRegistrations; } private void completeInvitedRegistration(InvitedRegistration invitedRegistration) { for (Map.Entry<String, Permission> entry : invitedRegistration.getGroupsPermissions().entrySet()) { for (Map.Entry<String, Permission> entry : invitedRegistration.getGroupsPermissions().entrySet()) { String groupId = entry.getKey(); String groupId = entry.getKey(); String userId = getCurrentUserId(); String userId = getCurrentUserId(); Loading @@ -117,11 +162,6 @@ public class InvitedRegistrationManager extends UserAwareComponent { // FIXME (workaround): separated update for user and done in order to use triggers // FIXME (workaround): separated update for user and done in order to use triggers invitedRegistrationDAO.setRegistrationUser(invitedRegistration); invitedRegistrationDAO.setRegistrationUser(invitedRegistration); invitedRegistrationDAO.setRegistrationDone(invitedRegistration); invitedRegistrationDAO.setRegistrationDone(invitedRegistration); httpSession.removeAttribute(INVITED_REGISTRATION); } return Optional.ofNullable(invitedRegistration); } } public List<InvitedRegistrationItem> getInvitedRegistrationsForGroup(GroupEntity group) { public List<InvitedRegistrationItem> getInvitedRegistrationsForGroup(GroupEntity group) { Loading