implemented display of projects in time record list
This commit is contained in:
@@ -8,6 +8,7 @@ public class Constants {
|
||||
public static final String CHILDREN = "children";
|
||||
public static final String CONFIG_DATABASE = "umbrella.modules.time.database";
|
||||
|
||||
public static final String PROJECTS = "projects";
|
||||
public static final String TABLE_TASK_TIMES = "task_times";
|
||||
public static final String TABLE_TIMES = "times";
|
||||
public static final String TASK_ID = "task_id";
|
||||
|
||||
@@ -4,10 +4,10 @@ package de.srsoftware.umbrella.time;
|
||||
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
|
||||
import static de.srsoftware.umbrella.core.Constants.*;
|
||||
import static de.srsoftware.umbrella.core.Paths.*;
|
||||
import static de.srsoftware.umbrella.core.Util.mapValues;
|
||||
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.*;
|
||||
import static de.srsoftware.umbrella.core.model.Time.State.Started;
|
||||
import static de.srsoftware.umbrella.time.Constants.*;
|
||||
import static java.util.stream.Collectors.toMap;
|
||||
import static java.util.stream.Collectors.toSet;
|
||||
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
@@ -20,8 +20,6 @@ import de.srsoftware.umbrella.core.api.*;
|
||||
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
|
||||
import de.srsoftware.umbrella.core.model.*;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
import java.util.*;
|
||||
|
||||
public class TimeModule extends BaseHandler implements TimeService {
|
||||
@@ -195,14 +193,10 @@ public class TimeModule extends BaseHandler implements TimeService {
|
||||
times.putAll(timeDb.listUserTimes(user.id(), showClosed));
|
||||
taskIds = times.values().stream().map(Time::taskIds).flatMap(Collection::stream).collect(toSet());
|
||||
var tasks = taskService().load(taskIds);
|
||||
var result = new HashMap<Long,Map<String,Object>>();
|
||||
for (var entry : times.entrySet()) {
|
||||
var time = entry.getValue();
|
||||
var map = time.toMap();
|
||||
map.remove(TASK_IDS);
|
||||
map.put(TASKS,time.taskIds().stream().map(tasks::get).filter(Objects::nonNull).collect(toMap(Task::id,Task::name)));
|
||||
result.put(entry.getKey(),map);
|
||||
}
|
||||
var result = new HashMap<String,Object>();
|
||||
result.put(TIMES,mapValues(times));
|
||||
result.put(TASKS,mapValues(tasks));
|
||||
result.put(PROJECTS,mapValues(projects));
|
||||
return sendContent(ex,result);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user