trials to keep the day alive
This commit is contained in:
@ -32,9 +32,6 @@ public class DoneController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IDoneService doneService;
|
private IDoneService doneService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DoneModel doneModel;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public DoneController(HttpServletRequest request) {
|
public DoneController(HttpServletRequest request) {
|
||||||
this.request = request;
|
this.request = request;
|
||||||
@ -46,10 +43,9 @@ public class DoneController {
|
|||||||
String username = doneService.getCurrentUser(request);
|
String username = doneService.getCurrentUser(request);
|
||||||
Duration maxWorkTime = Duration.ofHours(8); // TODO: to the configuration file
|
Duration maxWorkTime = Duration.ofHours(8); // TODO: to the configuration file
|
||||||
LocalDate day = doneModel.getDay();
|
LocalDate day = doneModel.getDay();
|
||||||
this.doneModel.setDay(day);
|
|
||||||
List<DoneBean> list = doneService.getList(day, username);
|
List<DoneBean> list = doneService.getList(day, username);
|
||||||
model.addAttribute("doneList", list);
|
model.addAttribute("doneList", list);
|
||||||
model.addAttribute("doneModel", this.doneModel);
|
model.addAttribute("doneModel", doneModel);
|
||||||
model.addAttribute("sum", new SummaryBean(list, day, maxWorkTime));
|
model.addAttribute("sum", new SummaryBean(list, day, maxWorkTime));
|
||||||
model.addAttribute("projectList", doneService.getProjects(false));
|
model.addAttribute("projectList", doneService.getProjects(false));
|
||||||
model.addAttribute("moduleList", doneService.getModules(false));
|
model.addAttribute("moduleList", doneService.getModules(false));
|
||||||
@ -58,6 +54,14 @@ public class DoneController {
|
|||||||
return "done/list";
|
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")
|
@RolesAllowed("timetrack_user")
|
||||||
@RequestMapping(value = "/done/add", method = RequestMethod.GET)
|
@RequestMapping(value = "/done/add", method = RequestMethod.GET)
|
||||||
public String toAdd(Model model) {
|
public String toAdd(Model model) {
|
||||||
@ -84,8 +88,9 @@ public class DoneController {
|
|||||||
public String doUpsert(Model model, @ModelAttribute DoneBean bean) {
|
public String doUpsert(Model model, @ModelAttribute DoneBean bean) {
|
||||||
String username = doneService.getCurrentUser(request);
|
String username = doneService.getCurrentUser(request);
|
||||||
Integer amount = doneService.doUpsert(bean, username);
|
Integer amount = doneService.doUpsert(bean, username);
|
||||||
this.doneModel.setDay(bean.getLocalDate());
|
DoneModel doneModel = new DoneModel();
|
||||||
return amount.equals(1) ? getList(this.doneModel, model) : toItem(bean.getPk(), model);
|
doneModel.setDay(bean.getLocalDate());
|
||||||
|
return amount.equals(1) ? getList(doneModel, model) : toItem(bean.getPk(), model);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RolesAllowed("timetrack_user")
|
@RolesAllowed("timetrack_user")
|
||||||
@ -93,7 +98,8 @@ public class DoneController {
|
|||||||
public String doDelete(@PathVariable Integer id, Model model) {
|
public String doDelete(@PathVariable Integer id, Model model) {
|
||||||
DoneBean bean = doneService.getBean(id);
|
DoneBean bean = doneService.getBean(id);
|
||||||
Integer amount = doneService.doDelete(id);
|
Integer amount = doneService.doDelete(id);
|
||||||
this.doneModel.setDay(bean.getLocalDate());
|
DoneModel doneModel = new DoneModel();
|
||||||
return amount.equals(1) ? getList(this.doneModel, model) : toItem(id, model);
|
doneModel.setDay(bean.getLocalDate());
|
||||||
|
return amount.equals(1) ? getList(doneModel, model) : toItem(id, model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,11 @@ package de.jottyfan.timetrack.spring.done;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author henkej
|
* @author henkej
|
||||||
@ -20,6 +22,14 @@ public class DoneModel implements Serializable {
|
|||||||
this.day = LocalDate.now();
|
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
|
* @return the day
|
||||||
*/
|
*/
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
<div class="col-sm-2">Änderung</div>
|
<div class="col-sm-2">Änderung</div>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<button type="submit" class="btn btn-success">speichern</button>
|
<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')">
|
<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>
|
<button class="btn btn-danger dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Eintrag löschen</button>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
|
Reference in New Issue
Block a user