Merge remote-tracking branch 'origin/edit-User' into edit-User
# Conflicts: # src/main/resources/templates/index.html
This commit is contained in:
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -58,8 +58,10 @@
|
||||
<div style="display: inline-block; margin: 0">
|
||||
<h2>Mitglieder</h2>
|
||||
<div th:if='${group.getRoles().get(user.getUser_id()) == admin}'>
|
||||
<form method="get" action="/gruppen2/details/members">
|
||||
<button th:name="group_id" th:value="${group.getId()}" class="btn btn-secondary" type="submit" style="background: slategrey; float: right" >Mitglieder bearbeiten</button>
|
||||
<form method="get" th:action="@{/gruppen2/details/members/{id}(id=${group.getId()})}">
|
||||
<button class="btn btn-secondary" style="background: slategrey; float: right" >
|
||||
Mitglieder bearbeiten
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
@ -38,15 +38,24 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-striped">
|
||||
|
||||
<tr th:each="member : ${group.getMembers()}">
|
||||
<th th:text="${member.getUser_id()}"></th>
|
||||
<td>
|
||||
<span th:if='${group.getRoles().get(member.getUser_id()) == admin}'>Mitglied</span>
|
||||
<span th:if='${group.getRoles().get(member.getUser_id()) != admin}'>Admin</span>
|
||||
<span th:if='${group.getRoles().get(member.getUser_id()) != admin}'>Mitglied</span>
|
||||
<span th:if='${group.getRoles().get(member.getUser_id()) == admin}'>Admin</span>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-warning btn-sm">Rolle ändern</button> <!-- th:if -->
|
||||
<button class="btn btn-danger btn-sm" >Mitglied entfernen</button>
|
||||
<form method="post" action="/gruppen2/details/members/changeRole">
|
||||
<input type="hidden" th:name="group_id" th:value="${group.getId()}">
|
||||
<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 -->
|
||||
</form>
|
||||
<form method="post" action="/gruppen2/details/members/changeRole">
|
||||
<input type="hidden" th:name="group_id" th:value="${group.getId()}"></input>
|
||||
<input type="hidden" th:name="user_id" th:value="${member.getUser_id()}"></input>
|
||||
<button class="btn btn-danger btn-sm">Mitglied entfernen</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@ -40,8 +40,8 @@
|
||||
<div th:each="gruppe: ${gruppen}">
|
||||
<div class="shadow-sm p-4" style="border: none; background: aliceblue">
|
||||
|
||||
<h3 style="color: black; font-weight: bold;">
|
||||
<a th:href="@{/gruppen2/details(id=${gruppe.getId()})}" th:text="${gruppe.getTitle()}"></a>
|
||||
<h3 style="color: dodgerblue; font-weight: bold;">
|
||||
<a th:href="@{/gruppen2/details/{id}(id=${gruppe.getId()})}" th:text="${gruppe.getTitle()}"></a>
|
||||
</h3>
|
||||
<div class="shadow-sm p-4" style="background: white">
|
||||
<p style="overflow-wrap: break-word" th:text="${#strings.abbreviate(gruppe.getDescription(),300)}"></p>
|
||||
|
||||
Reference in New Issue
Block a user