@Transactional @RequestMapping(value = "/actualiza", method = RequestMethod.POST) public String actualiza( HttpServletRequest request, @Valid Entrada entrada, BindingResult bindingResult, Errors errors, Model modelo, RedirectAttributes redirectAttributes) { if (bindingResult.hasErrors()) { log.error("Hubo algun error en la forma, regresando"); return "inventario/entrada/edita"; } try { Usuario usuario = ambiente.obtieneUsuario(); if (request.getParameter("proveedor.id") == null) { log.warn("No se puede crear la entrada si no ha seleccionado un proveedor"); errors.rejectValue("proveedor", "entrada.sin.proveedor.message"); return "inventario/entrada/nueva"; } Proveedor proveedor = proveedorDao.obtiene(new Long(request.getParameter("proveedor.id"))); entrada.setProveedor(proveedor); entrada = entradaDao.actualiza(entrada, usuario); } catch (NoEstaAbiertaException e) { log.error("No se pudo actualizar la entrada", e); modelo.addAttribute("message", "entrada.intento.modificar.cerrada.message"); modelo.addAttribute("messageStyle", "alert-error"); modelo.addAttribute("messageAttrs", new String[] {entrada.getFolio()}); return "inventario/entrada/nueva"; } catch (ConstraintViolationException e) { log.error("No se pudo crear la entrada", e); errors.rejectValue("factura", "campo.duplicado.message", new String[] {"factura"}, null); return "inventario/entrada/nueva"; } redirectAttributes.addFlashAttribute("message", "entrada.actualizada.message"); redirectAttributes.addFlashAttribute("messageAttrs", new String[] {entrada.getFolio()}); return "redirect:/inventario/entrada/ver/" + entrada.getId(); }
@Transactional @RequestMapping(value = "/crea", method = RequestMethod.POST) public String crea( HttpServletRequest request, HttpServletResponse response, @Valid Entrada entrada, BindingResult bindingResult, Errors errors, Model modelo, RedirectAttributes redirectAttributes) { for (String nombre : request.getParameterMap().keySet()) { log.debug("Param: {} : {}", nombre, request.getParameterMap().get(nombre)); } if (bindingResult.hasErrors()) { log.debug("Hubo algun error en la forma, regresando"); return "inventario/entrada/nueva"; } try { Usuario usuario = ambiente.obtieneUsuario(); if (request.getParameter("proveedor.id") == null) { log.warn("No se puede crear la entrada si no ha seleccionado un proveedor"); errors.rejectValue("proveedor", "entrada.sin.proveedor.message"); return "inventario/entrada/nueva"; } Proveedor proveedor = proveedorDao.obtiene(new Long(request.getParameter("proveedor.id"))); entrada.setProveedor(proveedor); entrada = entradaDao.crea(entrada, usuario); } catch (ConstraintViolationException e) { log.error("No se pudo crear la entrada", e); errors.rejectValue("factura", "campo.duplicado.message", new String[] {"factura"}, null); return "inventario/entrada/nueva"; } redirectAttributes.addFlashAttribute("message", "entrada.creada.message"); redirectAttributes.addFlashAttribute("messageAttrs", new String[] {entrada.getFolio()}); return "redirect:/inventario/entrada/ver/" + entrada.getId(); }