diff --git a/core/src/main/java/se/su/dsv/scipro/report/GradingReportServiceImpl.java b/core/src/main/java/se/su/dsv/scipro/report/GradingReportServiceImpl.java index 66d47f0887..1d39c7306a 100644 --- a/core/src/main/java/se/su/dsv/scipro/report/GradingReportServiceImpl.java +++ b/core/src/main/java/se/su/dsv/scipro/report/GradingReportServiceImpl.java @@ -320,7 +320,12 @@ public class GradingReportServiceImpl .stream() .map(GradingCriterion::getGradingCriterionPoints) .flatMap(Collection::stream) - .map(gcp -> new OppositionCriteria.Point(gcp.getPoint(), gcp.getDescription(Language.ENGLISH))) + .map(gcp -> + new OppositionCriteria.Point( + gcp.getPoint(), + Objects.requireNonNullElse(gcp.getDescription(Language.ENGLISH), "") + ) + ) .toList(); return new OppositionCriteria(oppositionGradingCriteria.get().getPointsRequiredToPass(), points); } diff --git a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.html b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.html index e5e8c5ba16..f0d3c04f34 100644 --- a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.html +++ b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.html @@ -19,8 +19,15 @@ <div class="col-lg-5"> <form wicket:id="form"> - <div class="card mb-3 bg-info text-white"> - <wicket:message key="criteria"/> + <div class="card mb-3 text-bg-info"> + <div class="card-body"> + <p class="card-text"> + <wicket:message key="criteria"/> + </p> + <p class="card-text" wicket:id="requirements"> + <wicket:container wicket:id="requirement"/> + </p> + </div> </div> <div class="mb-3"> diff --git a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.java b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.java index f8ed61ccce..3188f17091 100644 --- a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.java +++ b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.java @@ -237,6 +237,15 @@ public class SeminarOppositionPanel extends Panel { finalSeminarOppositionService.getCriteriaForOpposition(finalSeminarOpposition.getObject()) ); + add( + new ListView<>("requirements", criteriaModel.map(this::getPointsWithRequirements)) { + @Override + protected void populateItem(ListItem<OppositionCriteria.Point> item) { + item.add(new Label("requirement", item.getModel().map(OppositionCriteria.Point::requirement))); + } + } + ); + FormComponent<OppositionCriteria.Point> pointsField = new DropDownChoice<>( POINTS, pointsModel, @@ -295,6 +304,14 @@ public class SeminarOppositionPanel extends Panel { ); } + private List<OppositionCriteria.Point> getPointsWithRequirements(OppositionCriteria oppositionCriteria) { + return oppositionCriteria + .pointsAvailable() + .stream() + .filter(point -> !point.requirement().isBlank()) + .toList(); + } + @Override protected void onConfigure() { super.onConfigure(); diff --git a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.properties b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.properties index 24ac972a57..3d2bc5da31 100644 --- a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.properties +++ b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.properties @@ -10,12 +10,7 @@ opponents.form.points.RangeValidator.range= Points assigned must be between ${mi feedback.opponent.updated= Opponent ${user.fullName} feedback updated. point.not.valid=You need to assign points from the available selection. feedback.opponent.not.updated= Opponent ${user.fullName} feedback updated. Point and motivation could not be transferred to the students final grading report since the opponents supervisor already filled it in. -criteria= As the supervisor on this final seminar you are also required to grade the opponents opposition report.\ - <\br><\br>Requirement for 1 point: <\br>That the opposition report provides a short summary of the evaluated thesis, that it deliberates about the scientific basis, originality, \ - significance, and formulation of the problem and research question, as well as that it contains clear suggestions for improvements. \ - <\br><\br>For 2 points the following is also required: \ - <\br>That the opposition report thoroughly and in a well-balanced way describes from numerous aspects the strengths and weaknesses of the evaluated thesis and that it \ - offers clear and well- motivated suggestions for improvements. +criteria= As the supervisor on this final seminar you are also required to grade the opponents opposition report. opposition.report= Opposition report: removed= Opponent ${user.fullName} successfully removed opposition.report.removed= Opposition report successfully removed