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)"})
|
@RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"})
|
||||||
@GetMapping("/details")
|
@GetMapping("/details/{id}")
|
||||||
public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @RequestParam (value="id") Long id) throws EventException, ResponseStatusException {
|
public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @PathVariable (value="id") Long id) throws EventException, ResponseStatusException {
|
||||||
model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token));
|
model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token));
|
||||||
Group group = userService.getGroupById(id);
|
Group group = userService.getGroupById(id);
|
||||||
Account account = keyCloakService.createAccountFromPrincipal (token);
|
Account account = keyCloakService.createAccountFromPrincipal (token);
|
||||||
@ -154,13 +154,14 @@ public class Gruppen2Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"})
|
@RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"})
|
||||||
@GetMapping("/details/members")
|
@GetMapping("/details/members/{id}")
|
||||||
public String editMembers(Model model, KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) throws EventException {
|
public String editMembers(Model model, KeycloakAuthenticationToken token, @PathVariable (value="id") Long id) throws EventException {
|
||||||
Account account = keyCloakService.createAccountFromPrincipal(token);
|
Account account = keyCloakService.createAccountFromPrincipal(token);
|
||||||
Group group = userService.getGroupById(id);
|
Group group = userService.getGroupById(id);
|
||||||
if(group.getRoles().get(account.getName()) == Role.ADMIN) {
|
if(group.getRoles().get(account.getName()) == Role.ADMIN) {
|
||||||
model.addAttribute("members", group.getMembers());
|
model.addAttribute("members", group.getMembers());
|
||||||
model.addAttribute("group", group);
|
model.addAttribute("group", group);
|
||||||
|
model.addAttribute("admin", Role.ADMIN);
|
||||||
return "editMembers";
|
return "editMembers";
|
||||||
} else {
|
} else {
|
||||||
return "redirect:/details/";
|
return "redirect:/details/";
|
||||||
@ -168,11 +169,17 @@ public class Gruppen2Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"})
|
@RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"})
|
||||||
@PostMapping("/changeRole")
|
@PostMapping("/details/members/changeRole")
|
||||||
public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long id,
|
public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long group_id,
|
||||||
@RequestParam (value = "user") User user) throws EventException {
|
@RequestParam (value = "user_id") String user_id) throws EventException {
|
||||||
controllerService.updateRole(user, id);
|
controllerService.updateRole(user_id, group_id);
|
||||||
return "redirect:/details/members/";
|
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);
|
addUser(account, group_id);
|
||||||
updateTitle(account, group_id, title);
|
updateTitle(account, group_id, title);
|
||||||
updateDescription(account, group_id, description);
|
updateDescription(account, group_id, description);
|
||||||
updateRole(user, group_id);
|
updateRole(user.getUser_id(), group_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addUser(Account account, Long group_id){
|
public void addUser(Account account, Long group_id){
|
||||||
@ -61,9 +61,14 @@ public class ControllerService {
|
|||||||
eventService.saveEvent(updateGroupDescriptionEvent);
|
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;
|
UpdateRoleEvent updateRoleEvent;
|
||||||
Group group = userService.getGroupById(group_id);
|
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) {
|
if(group.getRoles().get(user.getUser_id()) == Role.ADMIN) {
|
||||||
updateRoleEvent = new UpdateRoleEvent(group_id, user.getUser_id(), Role.MEMBER);
|
updateRoleEvent = new UpdateRoleEvent(group_id, user.getUser_id(), Role.MEMBER);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -58,8 +58,10 @@
|
|||||||
<div style="display: inline-block; margin: 0">
|
<div style="display: inline-block; margin: 0">
|
||||||
<h2>Mitglieder</h2>
|
<h2>Mitglieder</h2>
|
||||||
<div th:if='${group.getRoles().get(user.getUser_id()) == admin}'>
|
<div th:if='${group.getRoles().get(user.getUser_id()) == admin}'>
|
||||||
<form method="get" action="/gruppen2/details/members">
|
<form method="get" th:action="@{/gruppen2/details/members/{id}(id=${group.getId()})}">
|
||||||
<button th:name="group_id" th:value="${group.getId()}" class="btn btn-secondary" type="submit" style="background: slategrey; float: right" >Mitglieder bearbeiten</button>
|
<button class="btn btn-secondary" style="background: slategrey; float: right" >
|
||||||
|
Mitglieder bearbeiten
|
||||||
|
</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|||||||
@ -38,15 +38,24 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="table-striped">
|
<tbody class="table-striped">
|
||||||
<tr th:each="member : ${group.getMembers()}">
|
|
||||||
|
<tr th:each="member : ${group.getMembers()}">
|
||||||
<th th:text="${member.getUser_id()}"></th>
|
<th th:text="${member.getUser_id()}"></th>
|
||||||
<td>
|
<td>
|
||||||
<span th:if='${group.getRoles().get(member.getUser_id()) == admin}'>Mitglied</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>
|
<span th:if='${group.getRoles().get(member.getUser_id()) == admin}'>Admin</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<button class="btn btn-warning btn-sm">Rolle ändern</button> <!-- th:if -->
|
<form method="post" action="/gruppen2/details/members/changeRole">
|
||||||
<button class="btn btn-danger btn-sm" >Mitglied entfernen</button>
|
<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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@ -40,8 +40,8 @@
|
|||||||
<div th:each="gruppe: ${gruppen}">
|
<div th:each="gruppe: ${gruppen}">
|
||||||
<div class="shadow-sm p-4" style="border: none; background: aliceblue">
|
<div class="shadow-sm p-4" style="border: none; background: aliceblue">
|
||||||
|
|
||||||
<h3 style="color: black; font-weight: bold;">
|
<h3 style="color: dodgerblue; font-weight: bold;">
|
||||||
<a th:href="@{/gruppen2/details(id=${gruppe.getId()})}" th:text="${gruppe.getTitle()}"></a>
|
<a th:href="@{/gruppen2/details/{id}(id=${gruppe.getId()})}" th:text="${gruppe.getTitle()}"></a>
|
||||||
</h3>
|
</h3>
|
||||||
<div class="shadow-sm p-4" style="background: white">
|
<div class="shadow-sm p-4" style="background: white">
|
||||||
<p style="overflow-wrap: break-word" th:text="${#strings.abbreviate(gruppe.getDescription(),300)}"></p>
|
<p style="overflow-wrap: break-word" th:text="${#strings.abbreviate(gruppe.getDescription(),300)}"></p>
|
||||||
|
|||||||
Reference in New Issue
Block a user