diff --git a/core/src/main/java/de/srsoftware/umbrella/core/Constants.java b/core/src/main/java/de/srsoftware/umbrella/core/Constants.java index fde9ba2..740a0f0 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/Constants.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/Constants.java @@ -154,6 +154,7 @@ public class Constants { public static final String TABLE_SETTINGS = "settings"; public static final String TAGS = "tags"; + public static final String TASK_IDS = "task_ids"; public static final String TAX = "tax"; public static final String TEMPLATE = "template"; public static final String TEXT = "text"; diff --git a/core/src/main/java/de/srsoftware/umbrella/core/model/Time.java b/core/src/main/java/de/srsoftware/umbrella/core/model/Time.java index efd466a..d7848b0 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/model/Time.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/model/Time.java @@ -107,6 +107,7 @@ public class Time implements Mappable{ map.put(END_TIME,end.toString().replace("T"," ")); map.put(STATE,Map.of(STATUS_CODE,state.code,NAME,state.name())); map.put(DURATION,Duration.between(start,end).toMinutes()/60d); + map.put(TASK_IDS,taskIds); return map; } } diff --git a/frontend/src/routes/time/Index.svelte b/frontend/src/routes/time/Index.svelte index f025ad8..7b4c829 100644 --- a/frontend/src/routes/time/Index.svelte +++ b/frontend/src/routes/time/Index.svelte @@ -4,11 +4,13 @@ import { t } from '../../translations.svelte.js'; let error = $state(null); + let times = $state(null); async function loadTimes(){ const url = api('time'); const resp = await fetch(url,{credentials:'include'}); if (resp.ok){ + times = await resp.json(); } else { error = await resp.text(); } @@ -20,4 +22,28 @@
| + {time.start_time}…{time.end_time} + | ++ {time.subject} + | ++ {#each time.task_ids as tid} + {tid} + {/each} + | +