1

add deleteUser button and reconfigure the according method

This commit is contained in:
killerber4t
2020-03-18 16:36:54 +01:00
parent 42721e06fc
commit 4b88742776
4 changed files with 16 additions and 9 deletions

View File

@ -146,10 +146,10 @@ public class Gruppen2Controller {
@RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"})
@PostMapping("/leaveGroup") @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); Account account = keyCloakService.createAccountFromPrincipal(token);
User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); 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/"; return "redirect:/gruppen2/";
} }
@ -179,7 +179,8 @@ public class Gruppen2Controller {
@RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"})
@PostMapping("/details/members/deleteUser") @PostMapping("/details/members/deleteUser")
public String deleteUser(KeycloakAuthenticationToken token,@RequestParam (value = "group_id") Long group_id, public String deleteUser(KeycloakAuthenticationToken token,@RequestParam (value = "group_id") Long group_id,
@RequestParam (value = "user_id") String user_id) { @RequestParam (value = "user_id") String user_id) throws EventException {
return null; controllerService.deleteUser(user_id, group_id);
return "redirect:/gruppen2/details/members/" + group_id;
} }
} }

View File

@ -77,7 +77,13 @@ public class ControllerService {
eventService.saveEvent(updateRoleEvent); 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()); DeleteUserEvent deleteUserEvent = new DeleteUserEvent(group_id, user.getUser_id());
eventService.saveEvent(deleteUserEvent); eventService.saveEvent(deleteUserEvent);
} }

View File

@ -51,9 +51,9 @@
<input type="hidden" th:name="user_id" th:value="${member.getUser_id()}"> <input type="hidden" th:name="user_id" th:value="${member.getUser_id()}">
<button type="submit" class="btn btn-warning btn-sm">Rolle ändern</button><!-- th:if --> <button type="submit" class="btn btn-warning btn-sm">Rolle ändern</button><!-- th:if -->
</form> </form>
<form method="post" action="/gruppen2/details/members/changeRole"> <form method="post" action="/gruppen2/details/members/deleteUser">
<input type="hidden" th:name="group_id" th:value="${group.getId()}"></input> <input type="hidden" th:name="group_id" th:value="${group.getId()}">
<input type="hidden" th:name="user_id" th:value="${member.getUser_id()}"></input> <input type="hidden" th:name="user_id" th:value="${member.getUser_id()}">
<button class="btn btn-danger btn-sm">Mitglied entfernen</button> <button class="btn btn-danger btn-sm">Mitglied entfernen</button>
</form> </form>
</td> </td>

View File

@ -21,7 +21,7 @@
<li> <li>
<a th:href="@{/gruppen2/findGroup}" href="/findGroup">Suche</a> <a th:href="@{/gruppen2/findGroup}" href="/findGroup">Suche</a>
</li> </li>
</ul> </ul>--
</nav> </nav>
</header> </header>
<main th:fragment="bodycontent"> <main th:fragment="bodycontent">