@RequestMapping(value = "/{id}/control-letters/create", method = RequestMethod.GET) public String showControlLetterCreateForm(@PathVariable("id") int id, Model model) { ControlLetter controlLetter = new ControlLetter(); // TODO: Validate income id that coming from form controlLetter.setIncomeId(id); List<Employee> employees = employeeService.findAll(Employee.EmployeePosition.CASIER.getId()); model.addAttribute("controlLetter", controlLetter); model.addAttribute("employees", employees); return "controlLetter/edit"; }
@RequestMapping(value = "/{invoiceId}/control-letters/{id}") public String showControlLetter( @PathVariable("invoiceId") int invoiceId, @PathVariable("id") int id, Model model) { ControlLetter controlLetter = controlLetterService.find(id); if (controlLetter == null) throw new ResourceNotFoundException(); controlLetter.setIncomeId(invoiceId); List<Employee> employees = employeeService.findAll(Employee.EmployeePosition.CASIER.getId()); model.addAttribute("employees", employees); model.addAttribute("controlLetter", controlLetter); return "controlLetter/edit"; }
@RequestMapping(value = "/{id}/control-letters", method = RequestMethod.POST) public String createOrUpdateControlLetter( @PathVariable("id") int invoiceId, @ModelAttribute("controlLetter") @Validated ControlLetter controlLetter, BindingResult bindingResult, Model model, RedirectAttributes redirectAttributes) { if (!bindingResult.hasErrors()) controlLetterValidator.validate(controlLetter, bindingResult); if (bindingResult.hasErrors()) { List<Employee> employees = employeeService.findAll(Employee.EmployeePosition.CASIER.getId()); model.addAttribute("employees", employees); return "controlLetter/edit"; } return handleSaving( controlLetter, controlLetterService, redirectAttributes, "tickets-invoices/" + invoiceId + "/control-letters"); }