From dac0b28efb530ec4f5604870d01f74db3aa5de88 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 16:16:27 +0100 Subject: [PATCH] fix path redirecting --- .../controller/Gruppen2Controller.java | 25 ++++++++++++------- .../gruppen2/service/ControllerService.java | 9 +++++-- .../resources/templates/detailsMember.html | 6 +++-- src/main/resources/templates/editMembers.html | 19 ++++++++++---- src/main/resources/templates/index.html | 2 +- 5 files changed, 42 insertions(+), 19 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index f214d1c..c952a02 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -104,8 +104,8 @@ public class Gruppen2Controller { } @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) - @GetMapping("/details") - public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @RequestParam (value="id") Long id) throws EventException, ResponseStatusException { + @GetMapping("/details/{id}") + public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @PathVariable (value="id") Long id) throws EventException, ResponseStatusException { model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); Group group = userService.getGroupById(id); Account account = keyCloakService.createAccountFromPrincipal (token); @@ -154,13 +154,14 @@ public class Gruppen2Controller { } @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) - @GetMapping("/details/members") - public String editMembers(Model model, KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) throws EventException { + @GetMapping("/details/members/{id}") + public String editMembers(Model model, KeycloakAuthenticationToken token, @PathVariable (value="id") Long id) throws EventException { Account account = keyCloakService.createAccountFromPrincipal(token); Group group = userService.getGroupById(id); if(group.getRoles().get(account.getName()) == Role.ADMIN) { model.addAttribute("members", group.getMembers()); model.addAttribute("group", group); + model.addAttribute("admin", Role.ADMIN); return "editMembers"; } else { return "redirect:/details/"; @@ -168,11 +169,17 @@ public class Gruppen2Controller { } @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) - @PostMapping("/changeRole") - public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long id, - @RequestParam (value = "user") User user) throws EventException { - controllerService.updateRole(user, id); - return "redirect:/details/members/"; + @PostMapping("/details/members/changeRole") + public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long group_id, + @RequestParam (value = "user_id") String user_id) throws EventException { + controllerService.updateRole(user_id, group_id); + return "redirect:/gruppen2/details/members/" + group_id; } + @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; + } } diff --git a/src/main/java/mops/gruppen2/service/ControllerService.java b/src/main/java/mops/gruppen2/service/ControllerService.java index ff42a16..b6880e3 100644 --- a/src/main/java/mops/gruppen2/service/ControllerService.java +++ b/src/main/java/mops/gruppen2/service/ControllerService.java @@ -43,7 +43,7 @@ public class ControllerService { addUser(account, group_id); updateTitle(account, group_id, title); updateDescription(account, group_id, description); - updateRole(user, group_id); + updateRole(user.getUser_id(), group_id); } public void addUser(Account account, Long group_id){ @@ -61,9 +61,14 @@ public class ControllerService { eventService.saveEvent(updateGroupDescriptionEvent); } - public void updateRole(User user, Long group_id) throws EventException { + public void updateRole(String user_id, Long group_id) throws EventException { UpdateRoleEvent updateRoleEvent; 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; if(group.getRoles().get(user.getUser_id()) == Role.ADMIN) { updateRoleEvent = new UpdateRoleEvent(group_id, user.getUser_id(), Role.MEMBER); } else { diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 63ae972..00449f6 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -53,8 +53,10 @@

Mitglieder

-
- + +

diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index c6ee888..c97dd0e 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -38,15 +38,24 @@ - + + - Mitglied - Admin + Mitglied + Admin - - +
+ + + +
+
+ + + +
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index e7ba682..5bee698 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -41,7 +41,7 @@

- +