When I update the user who is logged in, it does not refresh the data on the fly, when I call it from User userDetails = (User) authentication.getPrincipal();
<code>`@GetMapping("/gestion-usuarios/editar-usuario/{id}")
public String getEditUserForm(Model model, @PathVariable(name = "id") Integer id, Authentication authentication, HttpServletRequest request) throws Exception {
User userDetails = (User) authentication.getPrincipal();
User user = userService.getUserById(id);
user.setConfirmPassword(user.getPassword());
user.setConfirmEmail(user.getEmail());
model.addAttribute("roles", roleService.getAllRolesByEnabled());
model.addAttribute("teams", teamService.getAllTeamsByEnabled());
model.addAttribute("user", user);
model.addAttribute("navConfig", "active");
model.addAttribute("navUsers", "active");
model.addAttribute("editMode", true);
model.addAttribute("authUser", userDetails);
return "/security-management/users/user-form";
}
`
</code>
<code>`@GetMapping("/gestion-usuarios/editar-usuario/{id}")
public String getEditUserForm(Model model, @PathVariable(name = "id") Integer id, Authentication authentication, HttpServletRequest request) throws Exception {
User userDetails = (User) authentication.getPrincipal();
User user = userService.getUserById(id);
user.setConfirmPassword(user.getPassword());
user.setConfirmEmail(user.getEmail());
model.addAttribute("roles", roleService.getAllRolesByEnabled());
model.addAttribute("teams", teamService.getAllTeamsByEnabled());
model.addAttribute("user", user);
model.addAttribute("navConfig", "active");
model.addAttribute("navUsers", "active");
model.addAttribute("editMode", true);
model.addAttribute("authUser", userDetails);
return "/security-management/users/user-form";
}
`
</code>
`@GetMapping("/gestion-usuarios/editar-usuario/{id}")
public String getEditUserForm(Model model, @PathVariable(name = "id") Integer id, Authentication authentication, HttpServletRequest request) throws Exception {
User userDetails = (User) authentication.getPrincipal();
User user = userService.getUserById(id);
user.setConfirmPassword(user.getPassword());
user.setConfirmEmail(user.getEmail());
model.addAttribute("roles", roleService.getAllRolesByEnabled());
model.addAttribute("teams", teamService.getAllTeamsByEnabled());
model.addAttribute("user", user);
model.addAttribute("navConfig", "active");
model.addAttribute("navUsers", "active");
model.addAttribute("editMode", true);
model.addAttribute("authUser", userDetails);
return "/security-management/users/user-form";
}
`
I take the id of the logged in user and get it back from the database, but I’m sure there is a more efficient way to do this.