3283 TR Change signature
This commit is contained in:
parent
59a215422f
commit
1cb10be6a1
core/src/main/java/se/su/dsv/scipro
finalseminar
gdpr
milestones/service
view/src
main/java/se/su/dsv/scipro
finalseminar
grading
test/java/se/su/dsv/scipro/finalseminar
@ -65,7 +65,7 @@ public class FinalSeminarCreationSubscribers {
|
||||
}
|
||||
|
||||
private boolean onlyFailedOppositions(Author subscriber) {
|
||||
return finalSeminarService.findUserOpposing(subscriber.getProject(), subscriber.getUser())
|
||||
return finalSeminarService.findFinalSeminarOppositionsByOpponentAndProjectType(subscriber.getProject().getProjectType(), subscriber.getUser())
|
||||
.stream()
|
||||
.noneMatch(FinalSeminarParticipation::isApproved);
|
||||
}
|
||||
|
@ -3,10 +3,7 @@ package se.su.dsv.scipro.finalseminar;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.system.DegreeType;
|
||||
import se.su.dsv.scipro.system.FilteredService;
|
||||
import se.su.dsv.scipro.system.GenericService;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.system.*;
|
||||
import se.su.dsv.scipro.util.Either;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -54,7 +51,8 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
|
||||
|
||||
FinalSeminar cancel(FinalSeminar finalSeminar);
|
||||
|
||||
List<FinalSeminarOpposition> findUserOpposing(Project project, User user);
|
||||
List<FinalSeminarOpposition> findFinalSeminarOppositionsByOpponentAndProjectType(ProjectType projectType, User user);
|
||||
|
||||
List<FinalSeminarActiveParticipation> findUserParticipating(Project project, User user);
|
||||
|
||||
boolean isSubscribedToSeminarCreationNotifications(Project project, User user);
|
||||
|
@ -17,6 +17,7 @@ import se.su.dsv.scipro.report.OppositionReportService;
|
||||
import se.su.dsv.scipro.reviewing.RoughDraftApproval;
|
||||
import se.su.dsv.scipro.reviewing.RoughDraftApprovalService;
|
||||
import se.su.dsv.scipro.system.AbstractServiceImpl;
|
||||
import se.su.dsv.scipro.system.ProjectType;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.util.Either;
|
||||
|
||||
@ -418,7 +419,7 @@ public class FinalSeminarServiceImpl extends AbstractServiceImpl<FinalSeminar, L
|
||||
public List<FinalSeminarOpposition> getOppositionsByProjectAuthors(Project project) {
|
||||
return project.getProjectParticipants()
|
||||
.stream()
|
||||
.map(author -> findUserOpposing(project, author))
|
||||
.map(author -> findFinalSeminarOppositionsByOpponentAndProjectType(project.getProjectType(), author))
|
||||
.flatMap(List::stream)
|
||||
.toList();
|
||||
}
|
||||
@ -449,8 +450,8 @@ public class FinalSeminarServiceImpl extends AbstractServiceImpl<FinalSeminar, L
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FinalSeminarOpposition> findUserOpposing(Project project, User user) {
|
||||
return finalSeminarOppositionRepository.findByOpposingUserAndType(user, project.getProjectType());
|
||||
public List<FinalSeminarOpposition> findFinalSeminarOppositionsByOpponentAndProjectType(ProjectType projectType, User user) {
|
||||
return finalSeminarOppositionRepository.findByOpposingUserAndType(user, projectType);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -427,7 +427,7 @@ public class ZipReporter implements Reporter {
|
||||
if (finalSeminar != null) {
|
||||
children.addAll(finalSeminarReport(finalSeminar));
|
||||
}
|
||||
final List<FinalSeminarOpposition> oppositions = finalSeminarService.findUserOpposing(project, user);
|
||||
final List<FinalSeminarOpposition> oppositions = finalSeminarService.findFinalSeminarOppositionsByOpponentAndProjectType(project.getProjectType(), user);
|
||||
if (!oppositions.isEmpty()) {
|
||||
List<FinalSeminar> seminars = oppositions.stream().map(FinalSeminarParticipation::getFinalSeminar).toList();
|
||||
children.addAll(oppositionsReport("Oppositions", seminars));
|
||||
|
2
core/src/main/java/se/su/dsv/scipro/milestones/service/ActivateCompletedMilestonesOnNewProjects.java
2
core/src/main/java/se/su/dsv/scipro/milestones/service/ActivateCompletedMilestonesOnNewProjects.java
@ -51,7 +51,7 @@ public class ActivateCompletedMilestonesOnNewProjects {
|
||||
}
|
||||
|
||||
private void activateOppositionMilestone(Project project, User author) {
|
||||
List<FinalSeminarOpposition> opposing = finalSeminarService.findUserOpposing(project, author);
|
||||
List<FinalSeminarOpposition> opposing = finalSeminarService.findFinalSeminarOppositionsByOpponentAndProjectType(project.getProjectType(), author);
|
||||
for (FinalSeminarOpposition finalSeminarOpposition : opposing) {
|
||||
if (finalSeminarOpposition.isApproved()) {
|
||||
confirmMilestoneByEvent(project, author, "OppositionGradingEvent");
|
||||
|
@ -114,7 +114,7 @@ public class AttendingPanel extends GenericPanel<Project> {
|
||||
return new LoadableDetachableModel<>() {
|
||||
@Override
|
||||
protected List<FinalSeminarOpposition> load() {
|
||||
return finalSeminarService.findUserOpposing(getModelObject(), SciProSession.get().getUser());
|
||||
return finalSeminarService.findFinalSeminarOppositionsByOpponentAndProjectType(getModelObject().getProjectType(), SciProSession.get().getUser());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -204,7 +204,7 @@ abstract class AbstractExaminationsPanel extends GenericPanel<User> {
|
||||
if (!examination.hasManyPassingGrades()) {
|
||||
return NO_REQUIREMENTS;
|
||||
}
|
||||
final long completedOppositions = finalSeminarService.findUserOpposing(project, user)
|
||||
final long completedOppositions = finalSeminarService.findFinalSeminarOppositionsByOpponentAndProjectType(project.getProjectType(), user)
|
||||
.stream()
|
||||
.filter(FinalSeminarOpposition::isApproved)
|
||||
.count();
|
||||
|
@ -39,7 +39,6 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.util.AjaxConfirmationLink;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@ -170,7 +169,7 @@ public class CriteriaPanel extends GenericPanel<SupervisorGradingReport> {
|
||||
super(id, author);
|
||||
this.gradingCriterion = gradingCriterion;
|
||||
final IModel<List<FinalSeminarOpposition>> authorOppositions = LoadableDetachableModel.of(() ->
|
||||
finalSeminarService.findUserOpposing(CriteriaPanel.this.getModelObject().getProject(), author.getObject()));
|
||||
finalSeminarService.findFinalSeminarOppositionsByOpponentAndProjectType(CriteriaPanel.this.getModelObject().getProject().getProjectType(), author.getObject()));
|
||||
|
||||
modal = new ModalWindowPlus("modal");
|
||||
modal.setTitle("Opposition feedback");
|
||||
|
@ -220,7 +220,7 @@ public class SendToExaminer extends GenericPanel<Project> {
|
||||
}
|
||||
|
||||
private LocalDate getExaminationDate(User author, Project project, FinalThesis finalThesis) {
|
||||
var oppositions = finalSeminarService.findUserOpposing(project, author);
|
||||
var oppositions = finalSeminarService.findFinalSeminarOppositionsByOpponentAndProjectType(project.getProjectType(), author);
|
||||
var participations = finalSeminarService.findUserParticipating(project, author);
|
||||
|
||||
Optional<LocalDate> seminarDate = Stream.concat(oppositions.stream(), participations.stream())
|
||||
|
@ -61,7 +61,7 @@ public class AttendingPanelTest extends SciProTest {
|
||||
|
||||
List<FinalSeminarOpposition> oppositions = List.of(finalSeminarOpposition);
|
||||
|
||||
when(finalSeminarService.findUserOpposing(isA(Project.class), isA(User.class))).thenReturn(oppositions);
|
||||
when(finalSeminarService.findFinalSeminarOppositionsByOpponentAndProjectType(isA(ProjectType.class), isA(User.class))).thenReturn(oppositions);
|
||||
|
||||
startPanel();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user