@RequestMapping(value = "/roleform.html", method = RequestMethod.POST) public String guardarRole( @ModelAttribute("role") Role role, BindingResult result, SessionStatus status, HttpServletRequest request, Model model) { try { if (result.hasErrors()) { model.addAttribute("role", role); return "/admin/roleform"; } roleManager.saveRole(role); updateRoleSecurity(role); saveMessage(request, getText("roleform.added", role.getName(), request.getLocale())); return "redirect:rolelist.html"; } catch (Exception e) { if (role.getId() != null) { return "redirect:roleform.html?from=list&id=" + role.getId(); } model.addAttribute("role", role); saveError(request, getText("errors.general", request.getLocale())); return "redirect:roleform.html"; } }
@RequestMapping(value = "/roleform.html", method = RequestMethod.GET) public @ModelAttribute("role") Role verRole( @RequestParam(value = "id", required = false) Long id, Model model) { Role role = new Role(); if (id != null) { role = roleManager.getRole(id); List<OpcionMenu> opcionesMenu = opcionMenuService.obtenerOpcionesMenuPorRol(role.getId()); role.setOpcionesMenu(opcionesMenu); List<OpcionMenu> opcionesMenuNoElegidas = opcionMenuService.obtenerOpcionesMenuNoEnRol(role.getId()); role.getOpcionesMenu().addAll(opcionesMenuNoElegidas); boolean esRoleConDependencias = roleManager.esRoleConDependencias(id); if (esRoleConDependencias) { model.addAttribute(ES_EDITABLE, Boolean.FALSE); } else { model.addAttribute(ES_EDITABLE, Boolean.TRUE); } return role; } List<OpcionMenu> opcionesMenu = opcionMenuService.obtenerTodasOpcionesMenu(); role.setOpcionesMenu(opcionesMenu); model.addAttribute(ES_EDITABLE, Boolean.TRUE); return role; }