trials to keep the day alive

This commit is contained in:
Jörg Henke
2022-07-05 11:21:55 +02:00
parent 18dd8edc30
commit 6a44dc372d
3 changed files with 26 additions and 10 deletions

View File

@ -32,9 +32,6 @@ public class DoneController {
@Autowired
private IDoneService doneService;
@Autowired
private DoneModel doneModel;
@Autowired
public DoneController(HttpServletRequest request) {
this.request = 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<DoneBean> 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));
@ -58,6 +54,14 @@ public class DoneController {
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)
public String toAdd(Model model) {
@ -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);
}
}

View File

@ -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
*/

View File

@ -56,7 +56,7 @@
<div class="col-sm-2">Änderung</div>
<div class="col-sm-10">
<button type="submit" class="btn btn-success">speichern</button>
<button type="submit" class="btn btn-secondary" th:formaction="@{/done/list}">abbrechen</button>
<a class="btn btn-secondary" th:href="@{/done/abort/{day}(day=${doneModel.dayString})}">abbrechen</a>
<div class="dropdown float-right" th:if="${doneBean.pk != null}" sec:authorize="hasRole('timetrack_user')">
<button class="btn btn-danger dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Eintrag löschen</button>
<ul class="dropdown-menu">