diff --git a/core/src/main/java/de/srsoftware/umbrella/core/model/Task.java b/core/src/main/java/de/srsoftware/umbrella/core/model/Task.java index 44179d4..075071e 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/model/Task.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/model/Task.java @@ -52,9 +52,16 @@ public record Task(long id, long projectId, Long parentTaskId, String name, Stri }; var status = Status.OPEN; - Double estimatedTime = null; // TODO: provide form field - LocalDate startDate = null; - LocalDate dueDate = null; + Double estimatedTime = null; + if (json.has(ESTIMATED_TIME)) { + if (json.get(ESTIMATED_TIME) instanceof Number est) estimatedTime = est.doubleValue(); + if (json.get(ESTIMATED_TIME) instanceof String est) try { + estimatedTime = Double.parseDouble(est); + } catch (NumberFormatException ignored) { + } + } + LocalDate startDate = json.has(START_DATE) && json.get(START_DATE) instanceof String d ? LocalDate.parse(d) : null; + LocalDate dueDate = json.has(DUE_DATE) && json.get(DUE_DATE) instanceof String d ? LocalDate.parse(d) : null; var showClosed = json.has(SHOW_CLOSED) && json.get(SHOW_CLOSED) instanceof Boolean sc ? sc : false; var noIndex = json.has(NO_INDEX) && json.get(NO_INDEX) instanceof Boolean ni ? ni : false; diff --git a/frontend/src/routes/task/Add.svelte b/frontend/src/routes/task/Add.svelte index c8e5162..487f528 100644 --- a/frontend/src/routes/task/Add.svelte +++ b/frontend/src/routes/task/Add.svelte @@ -15,7 +15,12 @@ let task = $state({ name : '', description : { source : '', rendered : '' }, - members : {} + members : {}, + estimated_time: null, + start_date: null, + due_date: null, + show_closed: false, + no_index: false }); let router = useTinyRouter(); @@ -120,7 +125,7 @@ {t('estimated_time')}