improvement: inheriting tags from project and parent tasks

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-07-28 15:22:26 +02:00
parent 4a7547b82e
commit 4e9f15c6a3
3 changed files with 31 additions and 8 deletions

View File

@@ -29,6 +29,8 @@ import de.srsoftware.umbrella.core.model.Token;
import de.srsoftware.umbrella.core.model.UmbrellaUser;
import java.io.IOException;
import java.util.*;
import org.json.JSONArray;
import org.json.JSONObject;
public class TaskModule extends BaseHandler implements TaskService {
@@ -312,9 +314,9 @@ public class TaskModule extends BaseHandler implements TaskService {
var permission = nested.has(CODE) ? Permission.of(nested.getInt(CODE)) : Permission.valueOf(nested.getString(NAME));
taskDb.setMember(task.id(),userId,permission);
}
if (isSet(task.parentTaskId())){
var tagList = tags.getTags(TASK,task.parentTaskId(),user);
tags.save(TASK,task.id(),memberIds,tagList);
if (json.has(TAGS) && json.get(TAGS) instanceof JSONArray arr){
var tagList = arr.toList().stream().filter(e -> e instanceof String).map(String.class::cast).toList();
tags.save(TASK,task.id(),null,tagList);
}
return sendContent(ex,loadMembers(task));
}