diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplate.java b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplate.java index 29f6d272d5..9383cf158b 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplate.java +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplate.java @@ -65,10 +65,15 @@ class EditingGradingTemplate implements Serializable { OPPOSITION, REFLECTION } + enum Type { + PROJECT, INDIVIDUAL + } + private String titleSv; private String titleEn; private List<Point> points = new ArrayList<>(); private Flag flag; + private Type type = Type.PROJECT; Criteria(GradingCriterionTemplate criteria) { this.titleSv = criteria.getTitle(); @@ -82,6 +87,14 @@ class EditingGradingTemplate implements Serializable { private Criteria() {} + public Type getType() { + return type; + } + + public void setType(Type type) { + this.type = type; + } + public String getTitleSv() { return titleSv; } diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.html b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.html index ff2529f89c..ba86c85a78 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.html +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.html @@ -82,6 +82,12 @@ </div> </div> + <div class="mb-3"> + <label class="form-label" wicket:for="type">Type</label> + <select wicket:id="type" class="form-control"></select> + <small class="text-muted">Whether this criterion is assessed once for the thesis or per author.</small> + </div> + <div class="mb-3"> <label class="form-label" wicket:for="flag">Special flag</label> <select class="form-control" wicket:id="flag"></select> diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.java b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.java index beba710b8c..c829870bd0 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.java +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.java @@ -94,6 +94,26 @@ class EditingGradingTemplateComponentPanel extends GenericPanel<EditingGradingTe } }); + AjaxDropDownChoice<EditingGradingTemplate.Criteria.Type> typeChoice = new AjaxDropDownChoice<>( + "type", + LambdaModel.of( + model, + EditingGradingTemplate.Criteria::getType, + EditingGradingTemplate.Criteria::setType), + List.of(EditingGradingTemplate.Criteria.Type.values()), + new EnumChoiceRenderer<>(this)) + { + @Override + public void onNewSelection( + AjaxRequestTarget target, + EditingGradingTemplate.Criteria.Type objectSelected) + { + // auto save + } + }; + typeChoice.setRequired(true); + add(typeChoice); + AjaxDropDownChoice<EditingGradingTemplate.Criteria.Flag> flagChoice = new AjaxDropDownChoice<>( "flag", LambdaModel.of( diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.utf8.properties b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.utf8.properties index c7eb81c353..4e9a0c63c9 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.utf8.properties +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/EditingGradingTemplateComponentPanel.utf8.properties @@ -6,3 +6,5 @@ title_sv.Required=You must set the swedish title for all criteria title_en.Required=You must set the english title for all criteria requirement_sv.Required=You must set the swedish requirement for every criteria point requirement_en.Required=You must set the english requirement for every criteria point +Type.PROJECT=Once per thesis +Type.INDIVIDUAL=Individually for each author