From a25736eff3edd183fd88d9e857ae4ad4a2629630 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Sun, 15 Feb 2026 10:59:19 +0100 Subject: [PATCH] working on editor for polls Signed-off-by: Stephan Richter --- .../umbrella/core/constants/Field.java | 3 + .../umbrella/core/constants/Text.java | 1 + .../srsoftware/umbrella/core/model/Poll.java | 65 +++++++++++--- frontend/src/App.svelte | 4 + frontend/src/routes/poll/Edit.svelte | 88 +++++++++++++++++++ frontend/src/routes/poll/Index.svelte | 66 ++++++++++++++ .../de/srsoftware/umbrella/poll/PollDb.java | 2 + .../srsoftware/umbrella/poll/PollModule.java | 14 ++- .../de/srsoftware/umbrella/poll/SqliteDb.java | 50 ++++++++++- 9 files changed, 277 insertions(+), 16 deletions(-) create mode 100644 frontend/src/routes/poll/Edit.svelte create mode 100644 frontend/src/routes/poll/Index.svelte diff --git a/core/src/main/java/de/srsoftware/umbrella/core/constants/Field.java b/core/src/main/java/de/srsoftware/umbrella/core/constants/Field.java index 6df01416..15f03df1 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/constants/Field.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/constants/Field.java @@ -102,6 +102,7 @@ public class Field { public static final String OBJECT = "object"; public static final String OFFSET = "offset"; + public static final String OPTIONS = "options"; public static final String OPTIONAL = "optional"; public static final String OPTION_ID = "option_id"; public static final String OWNER = "owner"; @@ -133,6 +134,7 @@ public class Field { public static final String SENDER = "sender"; public static final String SENDER_USER_ID = "sender_user_id"; public static final String SETTINGS = "settings"; + public static final String SHARES = "shares"; public static final String SHOW_CLOSED = "show_closed"; public static final String SILENT = "silent"; public static final String SOURCE = "source"; @@ -182,4 +184,5 @@ public class Field { public static final String VERSIONS = "versions"; public static final String WEIGHT = "weight"; + public static final String WEIGHTS = "weights"; } diff --git a/core/src/main/java/de/srsoftware/umbrella/core/constants/Text.java b/core/src/main/java/de/srsoftware/umbrella/core/constants/Text.java index 562c3e46..913c3a7c 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/constants/Text.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/constants/Text.java @@ -45,6 +45,7 @@ public class Text { public static final String NUMBER = "number"; public static final String PATH = "path"; + public static final String POLL = "poll"; public static final String POLLS = "polls"; public static final String PROJECTS = "projects"; public static final String PROJECT_WITH_ID = "project ({id})"; diff --git a/core/src/main/java/de/srsoftware/umbrella/core/model/Poll.java b/core/src/main/java/de/srsoftware/umbrella/core/model/Poll.java index 8f2769e1..607df1d0 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/model/Poll.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/model/Poll.java @@ -8,30 +8,75 @@ import de.srsoftware.umbrella.core.constants.Field; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; + +import static de.srsoftware.umbrella.core.constants.Field.*; + +public record Poll(String id, Owner owner, String name, String description, boolean isPrivate, List