2984 Fix saving problem with grading basis

This commit is contained in:
Andreas Svanberg 2023-10-12 20:17:18 +02:00
parent 3ccd2b49c5
commit 73bd111a63

@ -78,7 +78,8 @@ public class GradingReportServiceImpl extends AbstractServiceImpl<GradingReport,
for (SupervisorGradingReport supervisorGradingReport : supervisorGradingReports) {
for (GradingCriterion projectCriterion : supervisorGradingReport.getProjectCriteria()) {
for (GradingBasis.Assessment assessment : gradingBasis.criteria()) {
if (Objects.equals(assessment.criterion().title(), projectCriterion.getTitle())) {
String title = getTitle(supervisorGradingReport.isSwedish(), projectCriterion);
if (Objects.equals(assessment.criterion().title(), title)) {
projectCriterion.setPoints(assessment.getPoints());
}
}
@ -98,11 +99,15 @@ public class GradingReportServiceImpl extends AbstractServiceImpl<GradingReport,
.sorted(Comparator.comparing(GradingCriterionPoint::getPoint))
.map(gcp -> toRequirement(isSwedish, gcp))
.toList();
String title = isSwedish ? gc.getTitle() : gc.getTitleEn();
String title = getTitle(isSwedish, gc);
GradingBasis.Criterion criterion = new GradingBasis.Criterion(title, requirements, gc.getPointsRequiredToPass());
return new GradingBasis.Assessment(criterion, gc.getPoints());
}
private static String getTitle(boolean isSwedish, GradingCriterion gc) {
return isSwedish ? gc.getTitle() : gc.getTitleEn();
}
private GradingBasis.Criterion.Requirement toRequirement(
boolean isSwedish,
GradingCriterionPoint gcp)