Allows admins to manage grading report templates #14

Merged
niat8586 merged 41 commits from 3482-new-grading-criteria into develop 2024-10-30 10:05:23 +01:00
2 changed files with 8 additions and 6 deletions
Showing only changes of commit 05a205d7cc - Show all commits

View File

@ -47,7 +47,7 @@
<li wicket:id="points">
<fieldset wicket:id="point" class="card mb-3">
<legend class="card-header hstack justify-content-between">
<span wicket:id="point"></span>
<span>Requirement for <span wicket:id="point"></span> point(s)</span>
<button class="btn btn-sm btn-outline-danger" wicket:id="remove">Remove</button>
</legend>
<div class="card-body">

View File

@ -69,7 +69,7 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe
add(new ListView<>("points", model.map(EditingGradingTemplate.Criteria::getPoints)) {
@Override
protected void populateItem(ListItem<EditingGradingTemplate.Criteria.Point> item) {
item.add(new PointEditingPanel("point", item.getModel()));
item.add(new PointEditingPanel("point", item));
}
});
@ -78,7 +78,7 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe
newPointForm.add(new Label("new_point", model
.map(criteria -> criteria.getPoints().size())
.map(size -> "Requirement for " + size + " points")));
.map(size -> "Requirement for " + (size + 1) + " points")));
newPointForm.add(new AjaxSubmitLink("add_new_point", newPointForm) {
@Override
@ -92,10 +92,12 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe
}
private class PointEditingPanel extends GenericWebMarkupContainer<EditingGradingTemplate.Criteria.Point> {
public PointEditingPanel(String id, IModel<EditingGradingTemplate.Criteria.Point> model) {
super(id, model);
public PointEditingPanel(String id, ListItem<EditingGradingTemplate.Criteria.Point> item) {
super(id, item.getModel());
add(new Label("point", "Requirement for 1 point"));
IModel<EditingGradingTemplate.Criteria.Point> model = item.getModel();
add(new Label("point", () -> item.getIndex() + 1));
add(new TextArea<>("requirement_en", LambdaModel.of(
model,