working on project view

This commit is contained in:
2025-07-20 00:09:02 +02:00
parent a14b541c91
commit 8ab3e8792a
10 changed files with 136 additions and 46 deletions

View File

@@ -10,34 +10,7 @@ import java.sql.SQLException;
import java.util.*;
public record Project(long id, String name, String description, Status status, Long companyId, boolean showClosed, Collection<Member> members) implements Mappable {
public enum Status{
Open(10),
Started(20),
Pending(40),
Complete(60),
Cancelled(100);
private int code;
Status(int code){
this.code = code;
}
public int code(){
return code;
}
public static Status of(int code){
return switch (code){
case 10 -> Open;
case 20 -> Started;
case 40 -> Pending;
case 60 -> Complete;
case 100 -> Cancelled;
default -> throw new IllegalArgumentException();
};
}
}
public boolean hasMember(UmbrellaUser user) {
for (var member : members){

View File

@@ -0,0 +1,31 @@
/* © SRSoftware 2025 */
package de.srsoftware.umbrella.core.model;
public enum Status{
OPEN(10),
STARTED(20),
PENDING(40),
COMPLETE(60),
CANCELLED(100);
private int code;
Status(int code){
this.code = code;
}
public int code(){
return code;
}
public static Status of(int code){
return switch (code){
case 10 -> OPEN;
case 20 -> STARTED;
case 40 -> PENDING;
case 60 -> COMPLETE;
case 100 -> CANCELLED;
default -> throw new IllegalArgumentException();
};
}
}

View File

@@ -12,7 +12,7 @@ import java.time.LocalDate;
import java.util.HashMap;
import java.util.Map;
public record Task(long id, long projectId, Long parentTaskId, String name, String description, int status, Double estimatedTime, LocalDate start, LocalDate dueDate,boolean showClosed, boolean noIndex) implements Mappable {
public record Task(long id, long projectId, Long parentTaskId, String name, String description, Status status, Double estimatedTime, LocalDate start, LocalDate dueDate, boolean showClosed, boolean noIndex) implements Mappable {
public static Task of(ResultSet rs) throws SQLException {
var estTime = rs.getDouble(EST_TIME);
var parentTaskId = rs.getLong(PARENT_TASK_ID);
@@ -24,7 +24,7 @@ public record Task(long id, long projectId, Long parentTaskId, String name, Stri
parentTaskId == 0d ? null : parentTaskId,
rs.getString(NAME),
rs.getString(DESCRIPTION),
rs.getInt(STATUS),
Status.of(rs.getInt(STATUS)),
estTime == 0d ? null : estTime,
startDate != null ? LocalDate.parse(startDate) : null,
dueDate != null ? LocalDate.parse(dueDate) : null,
@@ -41,7 +41,7 @@ public record Task(long id, long projectId, Long parentTaskId, String name, Stri
map.put(PARENT_TASK_ID, parentTaskId);
map.put(NAME, name);
map.put(DESCRIPTION, Map.of(SOURCE,description,RENDERED,markdown(description)));
map.put(STATUS, status);
map.put(STATUS, Map.of(NAME,status.name(),STATUS_CODE,status.code()));
map.put(ESTIMATED_TIME, estimatedTime);
map.put(START_DATE,start);
map.put(DUE_DATE,dueDate);