diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index 271f02c..b71ca19 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -2,6 +2,7 @@ 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.User; import mops.gruppen2.domain.Visibility; @@ -13,9 +14,11 @@ import mops.gruppen2.security.Account; import mops.gruppen2.service.*; import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; +import org.springframework.web.server.ResponseStatusException; import javax.annotation.security.RolesAllowed; @@ -83,11 +86,16 @@ public class Gruppen2Controller { return "redirect:/gruppen2/"; } + @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @GetMapping("/details") - public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @RequestParam (value="group_id") Long group_id) throws EventException { + public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @RequestParam (value="id") Long id) throws EventException, ResponseStatusException { model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); - model.addAttribute("group", userService.getGroupById(group_id)); - return "details"; + Group group = userService.getGroupById(id); + if(group!= null) { + model.addAttribute("group", group); + return "details"; + } + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Group not found"); } } diff --git a/src/main/java/mops/gruppen2/domain/apiWrapper/UpdatedGroupRequestMapper.java b/src/main/java/mops/gruppen2/domain/apiWrapper/UpdatedGroupRequestMapper.java new file mode 100644 index 0000000..a8b73dc --- /dev/null +++ b/src/main/java/mops/gruppen2/domain/apiWrapper/UpdatedGroupRequestMapper.java @@ -0,0 +1,16 @@ +package mops.gruppen2.domain.apiWrapper; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import mops.gruppen2.domain.Group; + +import java.util.List; + +@Getter +@NoArgsConstructor +@AllArgsConstructor +public class UpdatedGroupRequestMapper { + private Long status; + private List groupList; +} diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index ba20b5a..631364c 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -31,7 +31,7 @@

- +