@RequestMapping(value="/users/{id}", method=RequestMethod.GET) public String editUserForm(@PathVariable Integer id, Model model) { User user = securityService.getUserById(id); Map<Integer, Role> assignedRoleMap = new HashMap<>(); List<Role> roles = user.getRoles(); for (Role role : roles) { assignedRoleMap.put(role.getId(), role); } List<Role> userRoles = new ArrayList<>(); List<Role> allRoles = securityService.getAllRoles(); for (Role role : allRoles) { if(assignedRoleMap.containsKey(role.getId())){ userRoles.add(role); } else { userRoles.add(null); } } user.setRoles(userRoles); model.addAttribute("user",user); //model.addAttribute("rolesList",allRoles); return viewPrefix+"edit_user"; }
@RequestMapping(value="/roles/{id}", method=RequestMethod.POST) public String updateRole(@ModelAttribute("role") Role role, BindingResult result, Model model, RedirectAttributes redirectAttributes) { Role persistedRole = securityService.updateRole(role); logger.debug("Updated role with id : {} and name : {}", persistedRole.getId(), persistedRole.getName()); redirectAttributes.addFlashAttribute("info", "Role updated successfully"); return "redirect:/roles"; }
@RequestMapping(value="/roles", method=RequestMethod.POST) public String createRole(@Valid @ModelAttribute("role") Role role, BindingResult result, Model model, RedirectAttributes redirectAttributes) { roleValidator.validate(role, result); if(result.hasErrors()){ return viewPrefix+"create_role"; } Role persistedRole = securityService.createRole(role); logger.debug("Created new role with id : {} and name : {}", persistedRole.getId(), persistedRole.getName()); redirectAttributes.addFlashAttribute("info", "Role created successfully"); return "redirect:/roles"; }
public User createUser(User user) { User userByEmail = findUserByEmail(user.getEmail()); if(userByEmail != null){ throw new JCartException("Email "+user.getEmail()+" already in use"); } List<Role> persistedRoles = new ArrayList<>(); List<Role> roles = user.getRoles(); if(roles != null){ for (Role role : roles) { if(role.getId() != null) { persistedRoles.add(roleRepository.findOne(role.getId())); } } } user.setRoles(persistedRoles); return userRepository.save(user); }
public User updateUser(User user) { User persistedUser = getUserById(user.getId()); if(persistedUser == null){ throw new JCartException("User "+user.getId()+" doesn't exist"); } List<Role> updatedRoles = new ArrayList<>(); List<Role> roles = user.getRoles(); if(roles != null){ for (Role role : roles) { if(role.getId() != null) { updatedRoles.add(roleRepository.findOne(role.getId())); } } } persistedUser.setRoles(updatedRoles); return userRepository.save(persistedUser); }
public Role updateRole(Role role) { Role persistedRole = getRoleById(role.getId()); if(persistedRole == null){ throw new JCartException("Role "+role.getId()+" doesn't exist"); } persistedRole.setDescription(role.getDescription()); List<Permission> updatedPermissions = new ArrayList<>(); List<Permission> permissions = role.getPermissions(); if(permissions != null){ for (Permission permission : permissions) { if(permission.getId() != null) { updatedPermissions.add(permissionRepository.findOne(permission.getId())); } } } persistedRole.setPermissions(updatedPermissions); return roleRepository.save(persistedRole); }