diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index c952a02..63addb4 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -146,10 +146,10 @@ public class Gruppen2Controller { @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @PostMapping("/leaveGroup") - public String pLeaveGroup(KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) { + public String pLeaveGroup(KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) throws EventException { Account account = keyCloakService.createAccountFromPrincipal(token); User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); - controllerService.deleteUser(user, id); + controllerService.deleteUser(user.getUser_id(), id); return "redirect:/gruppen2/"; } @@ -179,7 +179,8 @@ public class Gruppen2Controller { @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @PostMapping("/details/members/deleteUser") public String deleteUser(KeycloakAuthenticationToken token,@RequestParam (value = "group_id") Long group_id, - @RequestParam (value = "user_id") String user_id) { - return null; + @RequestParam (value = "user_id") String user_id) throws EventException { + controllerService.deleteUser(user_id, group_id); + return "redirect:/gruppen2/details/members/" + group_id; } } diff --git a/src/main/java/mops/gruppen2/service/ControllerService.java b/src/main/java/mops/gruppen2/service/ControllerService.java index b6880e3..f64e048 100644 --- a/src/main/java/mops/gruppen2/service/ControllerService.java +++ b/src/main/java/mops/gruppen2/service/ControllerService.java @@ -77,7 +77,13 @@ public class ControllerService { eventService.saveEvent(updateRoleEvent); } - public void deleteUser(User user, Long group_id){ + public void deleteUser(String user_id, Long group_id) throws EventException { + Group group = userService.getGroupById(group_id); + User user = null; + for (User member : group.getMembers()) { + if(member.getUser_id().equals(user_id)) user = member; + } + assert user != null; DeleteUserEvent deleteUserEvent = new DeleteUserEvent(group_id, user.getUser_id()); eventService.saveEvent(deleteUserEvent); } diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index c97dd0e..1fbed6c 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -51,9 +51,9 @@ -
- - + + +
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index c083426..a9404b0 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -21,7 +21,7 @@
  • Suche
  • - + --