Allows admins to manage grading report templates #14
@ -45,9 +45,9 @@
|
|||||||
<wicket:container wicket:id="grade_limits">
|
<wicket:container wicket:id="grade_limits">
|
||||||
<div class="row align-items-center mb-3" wicket:id="grade_limit">
|
<div class="row align-items-center mb-3" wicket:id="grade_limit">
|
||||||
<div class="col"><label class="form-label" wicket:for="minimum">Minimum points</label></div>
|
<div class="col"><label class="form-label" wicket:for="minimum">Minimum points</label></div>
|
||||||
<div class="col"><input type="number" class="form-control" min="1" wicket:id="minimum"></div>
|
<div class="col"><input type="number" required class="form-control" min="1" wicket:id="minimum"></div>
|
||||||
<div class="col"><label class="form-label">Grade</label></div>
|
<div class="col"><label class="form-label">Grade</label></div>
|
||||||
<div class="col"><input type="text" class="form-control" wicket:id="grade"></div>
|
<div class="col"><input type="text" required class="form-control" wicket:id="grade"></div>
|
||||||
<div class="col-auto"><button class="btn btn-sm btn-outline-danger" wicket:id="remove">Remove</button></div>
|
<div class="col-auto"><button class="btn btn-sm btn-outline-danger" wicket:id="remove">Remove</button></div>
|
||||||
</div>
|
</div>
|
||||||
</wicket:container>
|
</wicket:container>
|
||||||
|
@ -224,6 +224,10 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe
|
|||||||
});
|
});
|
||||||
|
|
||||||
add(new ListView<>("grade_limits", model.map(GradeLimits::getGradeLimits)) {
|
add(new ListView<>("grade_limits", model.map(GradeLimits::getGradeLimits)) {
|
||||||
|
{
|
||||||
|
setReuseItems(true);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void populateItem(ListItem<GradeLimits.GradeLimit> item) {
|
protected void populateItem(ListItem<GradeLimits.GradeLimit> item) {
|
||||||
item.add(new GradeLimitEditingPanel("grade_limit", item.getModel()));
|
item.add(new GradeLimitEditingPanel("grade_limit", item.getModel()));
|
||||||
@ -243,22 +247,23 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe
|
|||||||
private class GradeLimitEditingPanel extends GenericWebMarkupContainer<GradeLimits.GradeLimit> {
|
private class GradeLimitEditingPanel extends GenericWebMarkupContainer<GradeLimits.GradeLimit> {
|
||||||
public GradeLimitEditingPanel(String id, IModel<GradeLimits.GradeLimit> model) {
|
public GradeLimitEditingPanel(String id, IModel<GradeLimits.GradeLimit> model) {
|
||||||
super(id, model);
|
super(id, model);
|
||||||
add(new NumberTextField<>("minimum", LambdaModel.of(
|
|
||||||
|
NumberTextField<Integer> minimum = new NumberTextField<>("minimum", LambdaModel.of(
|
||||||
model,
|
model,
|
||||||
GradeLimits.GradeLimit::getLowerLimit,
|
GradeLimits.GradeLimit::getLowerLimit,
|
||||||
GradeLimits.GradeLimit::setLowerLimit), Integer.class) {
|
GradeLimits.GradeLimit::setLowerLimit), Integer.class);
|
||||||
{
|
minimum.setRequired(true);
|
||||||
add(new AutoSave());
|
minimum.add(new AutoSave());
|
||||||
}
|
add(minimum);
|
||||||
});
|
|
||||||
add(new TextField<>("grade", LambdaModel.of(
|
TextField<String> grade = new TextField<>("grade", LambdaModel.of(
|
||||||
model,
|
model,
|
||||||
GradeLimits.GradeLimit::getGrade,
|
GradeLimits.GradeLimit::getGrade,
|
||||||
GradeLimits.GradeLimit::setGrade)) {
|
GradeLimits.GradeLimit::setGrade));
|
||||||
{
|
grade.setRequired(true);
|
||||||
add(new AutoSave());
|
grade.add(new AutoSave());
|
||||||
}
|
add(grade);
|
||||||
});
|
|
||||||
add(new AjaxLink<>("remove") {
|
add(new AjaxLink<>("remove") {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(AjaxRequestTarget target) {
|
public void onClick(AjaxRequestTarget target) {
|
||||||
|
@ -8,3 +8,5 @@ requirement_sv.Required=You must set the swedish requirement for every criteria
|
|||||||
requirement_en.Required=You must set the english requirement for every criteria point
|
requirement_en.Required=You must set the english requirement for every criteria point
|
||||||
Type.PROJECT=Once per thesis
|
Type.PROJECT=Once per thesis
|
||||||
Type.INDIVIDUAL=Individually for each author
|
Type.INDIVIDUAL=Individually for each author
|
||||||
|
minimum.Required=You must set the minimum number of points for each grade
|
||||||
|
grade.Required=You must set the letter for each grade
|
||||||
|
Loading…
x
Reference in New Issue
Block a user