From 6a44dc372d85a975d7b1d752999919310d2ff5e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Henke?= Date: Tue, 5 Jul 2022 11:21:55 +0200 Subject: [PATCH] trials to keep the day alive --- .../timetrack/spring/done/DoneController.java | 24 ++++++++++++------- .../timetrack/spring/done/DoneModel.java | 10 ++++++++ src/main/resources/templates/done/item.html | 2 +- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/jottyfan/timetrack/spring/done/DoneController.java b/src/main/java/de/jottyfan/timetrack/spring/done/DoneController.java index 8de7a1d..51f48eb 100644 --- a/src/main/java/de/jottyfan/timetrack/spring/done/DoneController.java +++ b/src/main/java/de/jottyfan/timetrack/spring/done/DoneController.java @@ -31,9 +31,6 @@ public class DoneController { @Autowired private IDoneService doneService; - - @Autowired - private DoneModel doneModel; @Autowired public DoneController(HttpServletRequest request) { @@ -46,10 +43,9 @@ public class DoneController { String username = doneService.getCurrentUser(request); Duration maxWorkTime = Duration.ofHours(8); // TODO: to the configuration file LocalDate day = doneModel.getDay(); - this.doneModel.setDay(day); List list = doneService.getList(day, username); model.addAttribute("doneList", list); - model.addAttribute("doneModel", this.doneModel); + model.addAttribute("doneModel", doneModel); model.addAttribute("sum", new SummaryBean(list, day, maxWorkTime)); model.addAttribute("projectList", doneService.getProjects(false)); model.addAttribute("moduleList", doneService.getModules(false)); @@ -57,6 +53,14 @@ public class DoneController { model.addAttribute("billingList", doneService.getBillings(false)); return "done/list"; } + + @RolesAllowed("timetrack_user") + @GetMapping("/done/abort/{day}") + public String abort(@PathVariable String day, Model model) { + DoneModel doneModel = new DoneModel(); + doneModel.setDayString(day); + return getList(doneModel, model); + } @RolesAllowed("timetrack_user") @RequestMapping(value = "/done/add", method = RequestMethod.GET) @@ -84,8 +88,9 @@ public class DoneController { public String doUpsert(Model model, @ModelAttribute DoneBean bean) { String username = doneService.getCurrentUser(request); Integer amount = doneService.doUpsert(bean, username); - this.doneModel.setDay(bean.getLocalDate()); - return amount.equals(1) ? getList(this.doneModel, model) : toItem(bean.getPk(), model); + DoneModel doneModel = new DoneModel(); + doneModel.setDay(bean.getLocalDate()); + return amount.equals(1) ? getList(doneModel, model) : toItem(bean.getPk(), model); } @RolesAllowed("timetrack_user") @@ -93,7 +98,8 @@ public class DoneController { public String doDelete(@PathVariable Integer id, Model model) { DoneBean bean = doneService.getBean(id); Integer amount = doneService.doDelete(id); - this.doneModel.setDay(bean.getLocalDate()); - return amount.equals(1) ? getList(this.doneModel, model) : toItem(id, model); + DoneModel doneModel = new DoneModel(); + doneModel.setDay(bean.getLocalDate()); + return amount.equals(1) ? getList(doneModel, model) : toItem(id, model); } } diff --git a/src/main/java/de/jottyfan/timetrack/spring/done/DoneModel.java b/src/main/java/de/jottyfan/timetrack/spring/done/DoneModel.java index aeefc96..61cc22f 100644 --- a/src/main/java/de/jottyfan/timetrack/spring/done/DoneModel.java +++ b/src/main/java/de/jottyfan/timetrack/spring/done/DoneModel.java @@ -2,9 +2,11 @@ package de.jottyfan.timetrack.spring.done; import java.io.Serializable; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import org.springframework.format.annotation.DateTimeFormat; + /** * * @author henkej @@ -20,6 +22,14 @@ public class DoneModel implements Serializable { this.day = LocalDate.now(); } + public String getDayString() { + return day == null ? "" : day.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + } + + public void setDayString(String day) { + this.day = day == null ? null : LocalDate.parse(day, DateTimeFormatter.ofPattern("yyyy-MM-dd")); + } + /** * @return the day */ diff --git a/src/main/resources/templates/done/item.html b/src/main/resources/templates/done/item.html index e1e1a2a..49e2533 100644 --- a/src/main/resources/templates/done/item.html +++ b/src/main/resources/templates/done/item.html @@ -56,7 +56,7 @@
Änderung
- + abbrechen