From 8dfa3c7a46e8692a32241c7ebb7d6087eb49c290 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Fri, 25 Jul 2025 14:38:11 +0200 Subject: [PATCH] implemented storing of tasks extended fields --- .../de/srsoftware/umbrella/core/model/Task.java | 13 ++++++++++--- frontend/src/routes/task/Add.svelte | 17 +++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) 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')} - {t('hours')} + {t('hours')} @@ -128,7 +133,7 @@ {t('start_date')} - + @@ -136,7 +141,7 @@ {t('due_date')} - + @@ -145,7 +150,7 @@ @@ -156,7 +161,7 @@