@RequestMapping(value = "/prueba", method = RequestMethod.POST) public String create( @Valid @ModelAttribute("prueba") Prueba prueba, BindingResult result, ModelMap modelMap, SessionStatus status, HttpServletRequest request) { if (prueba == null) throw new IllegalArgumentException("A prueba is required"); if ((prueba.getPorcentajeCompletitud() < 0) || (prueba.getPorcentajeCompletitud() > 100)) { result.addError( new FieldError( result.getObjectName(), "porcentajeCompletitud", "El pocentaje debe estar entre 0 y 100")); } // Metodo para traer los usuario de la UAI de una institucion en // especifico Util util = new Util(); Query query = Auditor.findAuditorsById_OrganismoEnte(util.traerIdRif()); List<Auditor> todos = query.getResultList(); List<Auditor> losQueSon = new LinkedList<Auditor>(); for (Auditor a : todos) { List<Usuario> usuarios = Usuario.findUsuariosByLogin(a.getLogin()).getResultList(); for (Usuario u : usuarios) { for (RolUsuario r : u.getRoles()) { if (r.getNombre().equals("ROLE_UNIDAD_COORDINADOR")) { losQueSon.add(a); break; } else if (r.getNombre().equals("ROLE_UNIDAD_AUDITOR")) { losQueSon.add(a); break; } else if (r.getNombre().equals("ROLE_UNIDAD_GERENTE")) { losQueSon.add(a); break; } } } } if (result.hasErrors()) { modelMap.addAttribute("prueba", prueba); // modelMap.addAttribute("actuacions", // Actuacion.findAllActuacions()); modelMap.addAttribute("auditors", losQueSon); modelMap.addAttribute("documentoes", Documento.findAllDocumentoes()); modelMap.addAttribute( "estadoactividadactuacions", EstadoActividadActuacion.findAllEstadoActividadActuacions()); modelMap.addAttribute( "requerimientoes", Requerimiento.findRequerimientoesByActuacion(prueba.getCodigoActuacion()) .getResultList()); return "prueba/create"; } prueba.persist(); Util.registrarEntradaEnBitacora(prueba, "Se creó la Prueba ", request.getRemoteAddr()); status.setComplete(); return "redirect:/prueba/" + prueba.getId(); }