Merge remote-tracking branch 'origin/group-details' into group-details
This commit is contained in:
@ -3,13 +3,8 @@ package mops.gruppen2.controller;
|
||||
import mops.gruppen2.config.Gruppen2Config;
|
||||
import mops.gruppen2.domain.Exceptions.EventException;
|
||||
import mops.gruppen2.domain.Group;
|
||||
import mops.gruppen2.domain.GroupType;
|
||||
import mops.gruppen2.domain.Role;
|
||||
import mops.gruppen2.domain.User;
|
||||
import mops.gruppen2.domain.Visibility;
|
||||
import mops.gruppen2.domain.event.AddUserEvent;
|
||||
import mops.gruppen2.domain.event.CreateGroupEvent;
|
||||
import mops.gruppen2.domain.event.UpdateGroupDescriptionEvent;
|
||||
import mops.gruppen2.domain.event.UpdateGroupTitleEvent;
|
||||
import mops.gruppen2.security.Account;
|
||||
import mops.gruppen2.service.*;
|
||||
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
|
||||
@ -21,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
|
||||
import javax.annotation.security.RolesAllowed;
|
||||
import java.util.Set;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/gruppen2")
|
||||
@ -91,9 +87,13 @@ public class Gruppen2Controller {
|
||||
public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @RequestParam (value="id") Long id) throws EventException, ResponseStatusException {
|
||||
model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token));
|
||||
Group group = userService.getGroupById(id);
|
||||
Account account = keyCloakService.createAccountFromPrincipal (token);
|
||||
User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail());
|
||||
Role role = group.getRoles().get(user);
|
||||
if(group!= null) {
|
||||
model.addAttribute("group", group);
|
||||
return "details";
|
||||
model.addAttribute("role",role);
|
||||
return "detailsMember";
|
||||
}
|
||||
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Group not found");
|
||||
}
|
||||
|
||||
@ -29,23 +29,25 @@
|
||||
<form action="/" method="get">
|
||||
<div style="border: 10px solid aliceblue; background: aliceblue">
|
||||
<h1 style="color: dodgerblue; font-weight: bold" th:text="${group.getTitle()}"></h1>
|
||||
<p style="font-weight: bold">
|
||||
<a href="url" th:text></a>,
|
||||
<a></a>
|
||||
<!--
|
||||
<p style="font-weight: bold" th:switch="${group.getVisibility()}">
|
||||
<a th:case="${group.getVisibility().PRIVATE}">Private Gruppe</a>
|
||||
<a th:case="${group.getVisibility().PUBLIC}">Öffentliche Gruppe</a>
|
||||
</p>
|
||||
<p th:text="${group.getDescription()}"></p>
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<button class="btn btn-primary" type="submit" style="background: #52a1eb; border-style: none">Beitreten</button>
|
||||
<div th:switch="${role.name()}">
|
||||
<div th:case="'ADMIN'">
|
||||
<button class="btn btn-primary" type="warning">Gruppenmitglieder bearbeiten</button>
|
||||
<button class="btn btn-primary" type="danger" style="background: #52a1eb; border-style: none">Gruppe verlassen</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" class="btn btn-warning">Mitglieder bearbeiten</button>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" class="btn btn-danger">Gruppe verlassen</button>
|
||||
<div th:case="'MEMBER'">
|
||||
<button class="btn btn-primary" type="danger" style="background: #52a1eb; border-style: none">Gruppe verlassen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<-->
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
Reference in New Issue
Block a user