WIP: Allow supervisors to request improvements from final seminar opponents #78
@ -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);
|
||||
}
|
||||
|
@ -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">
|
||||
|
@ -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();
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user