From 99fa2ab1ce9106628ecc87b3fcb3cb326bf0f821 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Wed, 30 Jul 2025 23:16:24 +0200 Subject: [PATCH] prevented deletion of tasks with subtasks --- task/src/main/java/de/srsoftware/umbrella/task/SqliteDb.java | 5 +++++ web/src/main/resources/web/css/default.css | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/task/src/main/java/de/srsoftware/umbrella/task/SqliteDb.java b/task/src/main/java/de/srsoftware/umbrella/task/SqliteDb.java index f1de38d..3ea0417 100644 --- a/task/src/main/java/de/srsoftware/umbrella/task/SqliteDb.java +++ b/task/src/main/java/de/srsoftware/umbrella/task/SqliteDb.java @@ -112,6 +112,11 @@ CREATE TABLE IF NOT EXISTS {0} ( @Override public void delete(Task task) throws UmbrellaException { try { + var rs = select("count(*)").from(TABLE_TASKS).where(PARENT_TASK_ID,equal(task.id())).exec(db); + long count = 0; + if (rs.next()) count = rs.getLong(1); + rs.close(); + if (count>0) throw new UmbrellaException("Task \"{0}\" has child tasks and thus cannot be deleted!",task.name()); Query.delete().from(TABLE_TASKS).where(ID,equal(task.id())).execute(db); Query.delete().from(TABLE_TASKS_USERS).where(TASK_ID,equal(task.id())).execute(db); } catch (SQLException e) { diff --git a/web/src/main/resources/web/css/default.css b/web/src/main/resources/web/css/default.css index 758d7e7..a3619a2 100644 --- a/web/src/main/resources/web/css/default.css +++ b/web/src/main/resources/web/css/default.css @@ -132,8 +132,8 @@ li.task > button{ display: none; } -li.task:hover{ - padding: 15px 0; +li.task{ + padding: 5px 0; } li.task:hover > button{