@RequestMapping(value = "/crea", method = RequestMethod.POST) public String crea( HttpServletRequest request, HttpServletResponse response, @Valid Cliente cliente, 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"); Map<String, Object> params = new HashMap<>(); params.put("empresa", request.getSession().getAttribute("empresaId")); params.put("reporte", true); params = tipoClienteDao.lista(params); modelo.addAttribute("tiposDeCliente", params.get("tiposDeCliente")); return "admin/cliente/nuevo"; } try { Usuario usuario = ambiente.obtieneUsuario(); log.debug("TipoCliente: {}", cliente.getTipoCliente().getId()); cliente = clienteDao.crea(cliente, usuario); } catch (ConstraintViolationException e) { log.error("No se pudo crear al cliente", e); errors.rejectValue("nombre", "campo.duplicado.message", new String[] {"nombre"}, null); Map<String, Object> params = new HashMap<>(); params.put("empresa", request.getSession().getAttribute("empresaId")); params.put("reporte", true); params = tipoClienteDao.lista(params); modelo.addAttribute("tiposDeCliente", params.get("tiposDeCliente")); return "admin/cliente/nuevo"; } redirectAttributes.addFlashAttribute("message", "cliente.creado.message"); redirectAttributes.addFlashAttribute("messageAttrs", new String[] {cliente.getNombre()}); return "redirect:/admin/cliente/ver/" + cliente.getId(); }
@RequestMapping("/edita/{id}") public String edita(HttpServletRequest request, @PathVariable Long id, Model modelo) { log.debug("Edita cliente {}", id); Cliente cliente = clienteDao.obtiene(id); modelo.addAttribute("cliente", cliente); Map<String, Object> params = new HashMap<>(); params.put("empresa", request.getSession().getAttribute("empresaId")); params.put("reporte", true); params = tipoClienteDao.lista(params); modelo.addAttribute("tiposDeCliente", params.get("tiposDeCliente")); return "admin/cliente/edita"; }
@RequestMapping("/nuevo") public String nuevo(HttpServletRequest request, Model modelo) { log.debug("Nuevo cliente"); Cliente cliente = new Cliente(); modelo.addAttribute("cliente", cliente); Map<String, Object> params = new HashMap<>(); params.put("empresa", request.getSession().getAttribute("empresaId")); params.put("reporte", true); params = tipoClienteDao.lista(params); modelo.addAttribute("tiposDeCliente", params.get("tiposDeCliente")); return "admin/cliente/nuevo"; }