From 49443f09e4875d1c82a8a5771066df9b3951b46e Mon Sep 17 00:00:00 2001 From: Andreas Svanberg <andreass@dsv.su.se> Date: Wed, 23 Oct 2024 12:17:37 +0200 Subject: [PATCH] Save note and failing grade on grading templates --- .../scipro/report/GradingReportTemplate.java | 24 +++++++++++++++++++ .../report/GradingReportTemplateRepoImpl.java | 2 ++ ...0__failing_grade_and_note_on_templates.sql | 3 +++ .../pages/grading/EditingGradingTemplate.java | 4 ++-- .../admin/pages/grading/GradeLimits.java | 5 +++- 5 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 core/src/main/resources/db/migration/V390__failing_grade_and_note_on_templates.sql diff --git a/core/src/main/java/se/su/dsv/scipro/report/GradingReportTemplate.java b/core/src/main/java/se/su/dsv/scipro/report/GradingReportTemplate.java index d6eaf522a0..c6aa3a09a3 100644 --- a/core/src/main/java/se/su/dsv/scipro/report/GradingReportTemplate.java +++ b/core/src/main/java/se/su/dsv/scipro/report/GradingReportTemplate.java @@ -32,6 +32,14 @@ public class GradingReportTemplate extends DomainObject { @Column(name = "valid_from") private LocalDate validFrom; + @Basic + @Column(name = "note") + private String note; + + @Basic + @Column(name = "failing_grade") + private String failingGrade; + protected GradingReportTemplate() { } @@ -92,6 +100,22 @@ public class GradingReportTemplate extends DomainObject { this.projectType = projectType; } + public String getNote() { + return note; + } + + public void setNote(String note) { + this.note = note; + } + + public String getFailingGrade() { + return failingGrade; + } + + public void setFailingGrade(String failingGrade) { + this.failingGrade = failingGrade; + } + @Override public boolean equals(final Object o) { if (o == this) return true; diff --git a/core/src/main/java/se/su/dsv/scipro/report/GradingReportTemplateRepoImpl.java b/core/src/main/java/se/su/dsv/scipro/report/GradingReportTemplateRepoImpl.java index eaa91cf59b..d793b7c16e 100644 --- a/core/src/main/java/se/su/dsv/scipro/report/GradingReportTemplateRepoImpl.java +++ b/core/src/main/java/se/su/dsv/scipro/report/GradingReportTemplateRepoImpl.java @@ -66,6 +66,8 @@ public class GradingReportTemplateRepoImpl extends GenericRepo<GradingReportTemp public GradingReportTemplate updateTemplate(long templateId, GradingReportTemplateUpdate update) { GradingReportTemplate gradingReportTemplate = findOne(templateId); gradingReportTemplate.setValidFrom(update.validFrom()); + gradingReportTemplate.setNote(update.note()); + gradingReportTemplate.setFailingGrade(update.failingGrade()); gradingReportTemplate.getCriteria().clear(); for (var criteria : update.criteria()) { diff --git a/core/src/main/resources/db/migration/V390__failing_grade_and_note_on_templates.sql b/core/src/main/resources/db/migration/V390__failing_grade_and_note_on_templates.sql new file mode 100644 index 0000000000..31d85e8edf --- /dev/null +++ b/core/src/main/resources/db/migration/V390__failing_grade_and_note_on_templates.sql @@ -0,0 +1,3 @@ +ALTER TABLE `grading_report_template` + ADD COLUMN `note` TEXT, + ADD COLUMN `failing_grade` VARCHAR(32); 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 27de115481..95ca4c1b82 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 @@ -16,9 +16,9 @@ class EditingGradingTemplate implements Serializable { private GradeLimits gradeLimits; EditingGradingTemplate(GradingReportTemplate template) { - this.note = ""; + this.note = template.getNote(); this.validFrom = template.getValidFrom(); - this.gradeLimits = new GradeLimits(); + this.gradeLimits = new GradeLimits(template); this.criteria = new ArrayList<>(); for (var criteria : template.getCriteria()) { Criteria editingCriteria = new Criteria(criteria); diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/GradeLimits.java b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/GradeLimits.java index 7b69827a3b..093455f4d1 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/GradeLimits.java +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/grading/GradeLimits.java @@ -1,5 +1,7 @@ package se.su.dsv.scipro.admin.pages.grading; +import se.su.dsv.scipro.report.GradingReportTemplate; + import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -8,8 +10,9 @@ class GradeLimits implements Serializable { private List<GradeLimit> gradeLimits; private String failingGrade; - GradeLimits() { + GradeLimits(GradingReportTemplate template) { this.gradeLimits = new ArrayList<>(); + this.failingGrade = template.getFailingGrade(); } void addNewLimit() {