fix(project): preserve completed task history
This commit is contained in:
+16
-2
@@ -71,7 +71,9 @@ public class ProjectQueryService {
|
||||
@Transactional(readOnly = true)
|
||||
public List<ProjectMemberView> members(long actorUserId, long projectId) {
|
||||
var project = visibleProject(actorUserId, projectId);
|
||||
var leaderUserId = project.currentLeader().internUserId();
|
||||
Long leaderUserId = project.status() == ProjectStatus.COMPLETED
|
||||
? null
|
||||
: project.currentLeader().internUserId();
|
||||
return project.memberships().stream()
|
||||
.map(membership -> new ProjectMemberView(
|
||||
membership.id(),
|
||||
@@ -79,7 +81,9 @@ public class ProjectQueryService {
|
||||
displayName(membership.internUserId()),
|
||||
membership.joinedAt(),
|
||||
membership.leftAt(),
|
||||
membership.isCurrent() && membership.internUserId() == leaderUserId))
|
||||
membership.isCurrent()
|
||||
&& leaderUserId != null
|
||||
&& membership.internUserId() == leaderUserId))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@@ -103,6 +107,16 @@ public class ProjectQueryService {
|
||||
|
||||
ProjectTaskContext taskContext(long actorUserId, ProjectEntity project) {
|
||||
requireVisibleProject(actorUserId, project);
|
||||
if (project.status() == ProjectStatus.COMPLETED) {
|
||||
return new ProjectTaskContext(
|
||||
project.id(),
|
||||
project.mentorUserId(),
|
||||
project.status().name(),
|
||||
project.startDate(),
|
||||
project.endDate(),
|
||||
null,
|
||||
List.of());
|
||||
}
|
||||
var activeMembers = project.memberships().stream()
|
||||
.filter(membership -> membership.isCurrent() && isEligibleIntern(membership.internUserId()))
|
||||
.map(membership -> new ProjectTaskMemberView(
|
||||
|
||||
Reference in New Issue
Block a user