add controlleradvice modelattribute setting
This commit is contained in:
@ -0,0 +1,35 @@
|
||||
package mops.gruppen2.controller;
|
||||
|
||||
import mops.gruppen2.domain.Account;
|
||||
import mops.gruppen2.domain.GroupType;
|
||||
import mops.gruppen2.domain.Role;
|
||||
import mops.gruppen2.domain.User;
|
||||
import mops.gruppen2.domain.Visibility;
|
||||
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
|
||||
@ControllerAdvice
|
||||
public class ModelAttributeControllerAdvice {
|
||||
|
||||
// Add modelAttributes before each @RequestMapping
|
||||
@ModelAttribute
|
||||
public void modelAttributes(KeycloakAuthenticationToken token,
|
||||
Model model) {
|
||||
|
||||
// Prevent NullPointerException if not logged in
|
||||
if (token != null) {
|
||||
model.addAttribute("account", new Account(token));
|
||||
model.addAttribute("user", new User(token));
|
||||
}
|
||||
|
||||
model.addAttribute("member", Role.MEMBER);
|
||||
model.addAttribute("admin", Role.ADMIN);
|
||||
model.addAttribute("public", Visibility.PUBLIC);
|
||||
model.addAttribute("private", Visibility.PRIVATE);
|
||||
model.addAttribute("lecture", GroupType.LECTURE);
|
||||
model.addAttribute("simple", GroupType.SIMPLE);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user