Allows admins to manage grading report templates #14
@ -56,6 +56,10 @@ class EditingGradingTemplate implements Serializable {
|
|||||||
.sum();
|
.sum();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addCriteria() {
|
||||||
|
this.criteria.add(new Criteria());
|
||||||
|
}
|
||||||
|
|
||||||
class Criteria implements Serializable {
|
class Criteria implements Serializable {
|
||||||
enum Flag {
|
enum Flag {
|
||||||
OPPOSITION, REFLECTION
|
OPPOSITION, REFLECTION
|
||||||
@ -63,13 +67,12 @@ class EditingGradingTemplate implements Serializable {
|
|||||||
|
|
||||||
private String titleSv;
|
private String titleSv;
|
||||||
private String titleEn;
|
private String titleEn;
|
||||||
private List<Point> points;
|
private List<Point> points = new ArrayList<>();
|
||||||
private Flag flag;
|
private Flag flag;
|
||||||
|
|
||||||
Criteria(GradingCriterionTemplate criteria) {
|
Criteria(GradingCriterionTemplate criteria) {
|
||||||
this.titleSv = criteria.getTitle();
|
this.titleSv = criteria.getTitle();
|
||||||
this.titleEn = criteria.getTitleEn();
|
this.titleEn = criteria.getTitleEn();
|
||||||
this.points = new ArrayList<>();
|
|
||||||
for (var point : criteria.getGradingCriterionPointTemplates()) {
|
for (var point : criteria.getGradingCriterionPointTemplates()) {
|
||||||
if (point.getPoint() == 0) continue;;
|
if (point.getPoint() == 0) continue;;
|
||||||
Point editingPoint = new Point(point);
|
Point editingPoint = new Point(point);
|
||||||
@ -77,6 +80,8 @@ class EditingGradingTemplate implements Serializable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Criteria() {}
|
||||||
|
|
||||||
public String getTitleSv() {
|
public String getTitleSv() {
|
||||||
return titleSv;
|
return titleSv;
|
||||||
}
|
}
|
||||||
|
@ -130,6 +130,10 @@
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<button class="btn btn-sm btn-outline-success" wicket:id="add_criteria">Add new criteria</button>
|
||||||
|
</div>
|
||||||
</wicket:panel>
|
</wicket:panel>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -28,6 +28,8 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe
|
|||||||
{
|
{
|
||||||
super(id, editingGradingTemplateModel);
|
super(id, editingGradingTemplateModel);
|
||||||
|
|
||||||
|
setOutputMarkupId(true);
|
||||||
|
|
||||||
TextField<LocalDate> validFromField = new RequiredTextField<>("valid_from",
|
TextField<LocalDate> validFromField = new RequiredTextField<>("valid_from",
|
||||||
LambdaModel.of(editingGradingTemplateModel,
|
LambdaModel.of(editingGradingTemplateModel,
|
||||||
EditingGradingTemplate::getValidFrom,
|
EditingGradingTemplate::getValidFrom,
|
||||||
@ -59,6 +61,14 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe
|
|||||||
item.add(new CriteriaEditingPanel("criteria", item.getModel()));
|
item.add(new CriteriaEditingPanel("criteria", item.getModel()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
add(new AjaxLink<>("add_criteria") {
|
||||||
|
@Override
|
||||||
|
public void onClick(AjaxRequestTarget target) {
|
||||||
|
editingGradingTemplateModel.getObject().addCriteria();
|
||||||
|
target.add(EditingGradingTemplateComponentPanel.this);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
class CriteriaEditingPanel extends GenericWebMarkupContainer<EditingGradingTemplate.Criteria> {
|
class CriteriaEditingPanel extends GenericWebMarkupContainer<EditingGradingTemplate.Criteria> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user