From 1b36ad7987238f50e73c7e10db9cda2ba4ab0d54 Mon Sep 17 00:00:00 2001 From: Andreas Svanberg <andreass@dsv.su.se> Date: Tue, 18 Feb 2025 15:12:21 +0100 Subject: [PATCH] Disable ability to grade opponents after requesting improvements --- .../dsv/scipro/finalseminar/SeminarOppositionPanel.html | 5 +++++ .../dsv/scipro/finalseminar/SeminarOppositionPanel.java | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.html b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.html index 947d270792..7d665d4e31 100644 --- a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.html +++ b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.html @@ -58,6 +58,11 @@ </form> <form wicket:id="request_improvements"> + <p> + Once you request improvements the student have a limited time to make the requested changes. + If they do not make the requested improvements in time, they will get an automatic failing grade. + You will be notified when they've submitted a new report. + </p> <div class="mb-3"> <label class="form-label" wicket:for="feedback_to_opponent"> Provide feedback to the opponent on how to improve the opposition diff --git a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.java b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.java index fc652fbd80..9a788bc885 100644 --- a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.java +++ b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.java @@ -323,12 +323,17 @@ public class SeminarOppositionPanel extends Panel { @Override protected void onConfigure() { super.onConfigure(); + FinalSeminarOpposition opposition = getModelObject(); setVisibilityAllowed( startDateHasPassed() && - getModelObject().getPoints() == null && - getModelObject().getFeedback() == null && + opposition.getPoints() == null && + opposition.getFeedback() == null && isHeadSupervisor() ); + boolean hasRequestedImprovements = opposition.getImprovementsRequestedAt() != null; + boolean reportIsSubmitted = + opposition.getOppositionReport() != null && opposition.getOppositionReport().isSubmitted(); + setEnabled(!hasRequestedImprovements || reportIsSubmitted); } }