diff --git a/src/main/java/nl/tudelft/labracore/dto/view/structured/details/StudentGroupDetailsDTO.java b/src/main/java/nl/tudelft/labracore/dto/view/structured/details/StudentGroupDetailsDTO.java
index 809ef254ae3a643e6bb805512d76d131fd249686..b9def5124b596c69324d9891394e987581d4fa43 100644
--- a/src/main/java/nl/tudelft/labracore/dto/view/structured/details/StudentGroupDetailsDTO.java
+++ b/src/main/java/nl/tudelft/labracore/dto/view/structured/details/StudentGroupDetailsDTO.java
@@ -43,5 +43,9 @@ public class StudentGroupDetailsDTO extends StudentGroupSummaryDTO {
@NotNull
private List<RolePersonLayer1DTO> members;
@NotNull
+ private List<RolePersonLayer1DTO> students;
+ @NotNull
+ private List<RolePersonLayer1DTO> staff;
+ @NotNull
private List<SubmissionSummaryDTO> submissions;
}
diff --git a/src/main/java/nl/tudelft/labracore/dto/view/structured/layer1/StudentGroupMembersLayer1DTO.java b/src/main/java/nl/tudelft/labracore/dto/view/structured/layer1/StudentGroupMembersLayer1DTO.java
index 3d0385e072edf703597ee73e707ac1806e1afe33..2cde9e6e4a664fa323d99c8856e9107348e9c017 100644
--- a/src/main/java/nl/tudelft/labracore/dto/view/structured/layer1/StudentGroupMembersLayer1DTO.java
+++ b/src/main/java/nl/tudelft/labracore/dto/view/structured/layer1/StudentGroupMembersLayer1DTO.java
@@ -32,4 +32,6 @@ import nl.tudelft.labracore.dto.view.structured.summary.StudentGroupSummaryDTO;
@EqualsAndHashCode(callSuper = true)
public class StudentGroupMembersLayer1DTO extends StudentGroupSummaryDTO {
private List<RoleSummaryDTO> members;
+ private List<RoleSummaryDTO> students;
+ private List<RoleSummaryDTO> staff;
}
diff --git a/src/main/java/nl/tudelft/labracore/dto/view/structured/summary/StudentGroupSummaryDTO.java b/src/main/java/nl/tudelft/labracore/dto/view/structured/summary/StudentGroupSummaryDTO.java
index 5d6e33a43718230f9692b1d9adbf1c724dc24558..8a8a7ab1607577e9960fdb136780d0ac7b0ad962 100644
--- a/src/main/java/nl/tudelft/labracore/dto/view/structured/summary/StudentGroupSummaryDTO.java
+++ b/src/main/java/nl/tudelft/labracore/dto/view/structured/summary/StudentGroupSummaryDTO.java
@@ -49,6 +49,10 @@ public class StudentGroupSummaryDTO extends View<StudentGroup> {
@NotNull
private List<String> memberUsernames;
@NotNull
+ private List<String> studentUsernames;
+ @NotNull
+ private List<String> staffUsernames;
+ @NotNull
private Map<String, Boolean> assignmentsSubmitted;
@Override
@@ -58,6 +62,12 @@ public class StudentGroupSummaryDTO extends View<StudentGroup> {
memberUsernames = data.getMembers().stream()
.map(member -> member.getPerson().getUsername())
.collect(Collectors.toList());
+ studentUsernames = data.getStudents().stream()
+ .map(member -> member.getPerson().getUsername())
+ .collect(Collectors.toList());
+ staffUsernames = data.getStaff().stream()
+ .map(member -> member.getPerson().getUsername())
+ .collect(Collectors.toList());
assignmentsSubmitted = data.getModule().getAssignments().stream()
.collect(Collectors.toMap(Assignment::getName, assignment -> data.getSubmissions().stream()
diff --git a/src/main/java/nl/tudelft/labracore/model/StudentGroup.java b/src/main/java/nl/tudelft/labracore/model/StudentGroup.java
index e349bac19d383ef51e1b82915e4380deb3ae8709..1f1f8b89b2cb583c796b90c23dff5383505e7371 100644
--- a/src/main/java/nl/tudelft/labracore/model/StudentGroup.java
+++ b/src/main/java/nl/tudelft/labracore/model/StudentGroup.java
@@ -20,6 +20,7 @@ package nl.tudelft.labracore.model;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.Set;
+import java.util.stream.Collectors;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
@@ -123,4 +124,12 @@ public class StudentGroup {
.count());
}
+ public Set<Role> getStudents() {
+ return members.stream().filter(r -> r.getType() == RoleType.STUDENT).collect(Collectors.toSet());
+ }
+
+ public Set<Role> getStaff() {
+ return members.stream().filter(r -> r.getType().isAboveStudent()).collect(Collectors.toSet());
+ }
+
}