diff --git a/src/main/java/catering/inventory/InventoryController.java b/src/main/java/catering/inventory/InventoryController.java index 27218f9..9eaabbc 100644 --- a/src/main/java/catering/inventory/InventoryController.java +++ b/src/main/java/catering/inventory/InventoryController.java @@ -33,6 +33,7 @@ import org.springframework.ui.Model; import org.springframework.util.Assert; import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -85,9 +86,9 @@ class InventoryController { @PreAuthorize("hasRole('ADMIN')") @PostMapping("/inventory/edit/{pid}") - String edit(@Valid InventoryMutateForm form, Errors result, @PathVariable Product pid) { + String edit(@Valid @ModelAttribute("form") InventoryMutateForm form, Errors result, @PathVariable Product pid, Model model) { if (result.hasErrors()) { - return "redirect:/inventory/edit/" + pid.getId(); + return edit(model, pid, form); } CatalogDummy product = (CatalogDummy) pid; UniqueInventoryItem item = inventory.findByProduct(pid).get(); @@ -109,17 +110,20 @@ class InventoryController { @PreAuthorize("hasRole('ADMIN')") @GetMapping("/inventory/add") String add(Model model) { - model.addAttribute("actionIsAdd", true); - model.addAttribute("form", InventoryMutateForm.empty()); + return add(model, InventoryMutateForm.empty()); + } + String add(Model model, InventoryMutateForm form) { + model.addAttribute("actionIsAdd", true); + model.addAttribute("form", form); return "inventory-mutate"; } @PreAuthorize("hasRole('ADMIN')") @PostMapping("/inventory/add") - String add(@Valid InventoryMutateForm form, Errors result) { + String add(@Valid @ModelAttribute("form") InventoryMutateForm form, Errors result, Model model) { if (result.hasErrors()) { - return "inventory-mutate"; + return add(model, form); } inventory.save(new UniqueInventoryItem( cateringCatalog diff --git a/src/main/resources/templates/inventory-mutate.html b/src/main/resources/templates/inventory-mutate.html index 21efc93..3b2f612 100644 --- a/src/main/resources/templates/inventory-mutate.html +++ b/src/main/resources/templates/inventory-mutate.html @@ -10,30 +10,36 @@
- + +
Ungültiger Typ.
- + +
Ungültiger Name.
- + +
Ungültige Menge.
- + +
Ungültiger Einkaufspreis.
- + +
Ungültiger Verkaufspreis.
- + +
Ungültiger Aktionspreis.