fixed parent selector

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2026-07-01 09:17:38 +02:00
parent f5476d7f1c
commit aaf367480b
7 changed files with 26 additions and 12 deletions
@@ -18,10 +18,12 @@ import static de.srsoftware.umbrella.core.model.Status.*;
import static de.srsoftware.umbrella.core.model.Translatable.t;
import static de.srsoftware.umbrella.project.Constants.*;
import static de.srsoftware.umbrella.task.Constants.*;
import static java.lang.System.Logger.Level.TRACE;
import static java.text.MessageFormat.format;
import de.srsoftware.tools.jdbc.Query;
import de.srsoftware.umbrella.core.BaseDb;
import de.srsoftware.umbrella.core.Util;
import de.srsoftware.umbrella.core.constants.Text;
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
import de.srsoftware.umbrella.core.model.*;
@@ -242,6 +244,7 @@ CREATE TABLE IF NOT EXISTS {0} (
var tasks = new HashMap<Long,Task>();
var rs = query.exec(db);
while (rs.next()){
LOG.log(TRACE,() -> Util.toJson(rs));
var task = Task.of(rs);
tasks.put(task.id(),task);
}
@@ -21,7 +21,6 @@ import static de.srsoftware.umbrella.messagebus.MessageBus.messageBus;
import static de.srsoftware.umbrella.messagebus.events.Event.EventType.CREATE;
import static de.srsoftware.umbrella.project.Constants.PERMISSIONS;
import static de.srsoftware.umbrella.task.Constants.*;
import static java.lang.System.Logger.Level.ERROR;
import static java.lang.System.Logger.Level.WARNING;
import static java.net.URLDecoder.decode;
import static java.nio.charset.StandardCharsets.UTF_8;
@@ -196,10 +195,9 @@ public class TaskModule extends BaseHandler implements TaskService {
private boolean getParentCandidates(HttpExchange ex, long taskId, UmbrellaUser user) throws IOException {
var task = taskDb.load(taskId);
var project = projectService().load(task.projectId());
var projectTasks = taskDb.listProjectTasks(project.id(),null, false);
var projectTasks = taskDb.listProjectTasks(project.id(),null, true);
var mapped = projectTasks.values().stream().collect(Collectors.toMap(Task::id,Task::toMap));
var roots = new HashMap<Long,Map<String,Object>>();
LOG.log(ERROR,"getParentCandidates not fully functional");
for (var map : mapped.values()){
if (!(map.get(ID) instanceof Long id)) continue;
if (id == taskId) continue;