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 3188f17091..976c834af7 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 @@ -2,6 +2,9 @@ package se.su.dsv.scipro.finalseminar; import com.google.common.eventbus.EventBus; import jakarta.inject.Inject; +import java.time.Duration; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.Date; import java.util.List; import java.util.Objects; @@ -357,8 +360,21 @@ public class SeminarOppositionPanel extends Panel { @Override protected void onSubmit() { - System.out.println("Request improvements submitted"); - System.out.println("Feedback to opponent: " + feedbackToOpponentModel.getObject()); + // TODO: return deadline + finalSeminarOppositionService.requestImprovements(getModelObject(), feedbackToOpponentModel.getObject()); + + record ImprovementFeedback(String fullName, ZonedDateTime deadline) {} + ZonedDateTime deadline = getModelObject() + .getFinalSeminar() + .getStartDate() + .toInstant() + .plus(Duration.ofDays(10)) + .atZone(ZoneId.of("Europe/Stockholm")); + success( + getString("feedback.opponent.requested.improvements", () -> + new ImprovementFeedback(getModelObject().getUser().getFullName(), deadline) + ) + ); } } } diff --git a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.properties b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.properties index 3d2bc5da31..0a041037c6 100644 --- a/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.properties +++ b/view/src/main/java/se/su/dsv/scipro/finalseminar/SeminarOppositionPanel.properties @@ -16,4 +16,7 @@ removed= Opponent ${user.fullName} successfully removed opposition.report.removed= Opposition report successfully removed are.you.sure= Are you sure you want to remove this opponent report? no.opponents= There are no opponents registered yet. -noOppositionReportYet= No opposition report has been submitted yet. \ No newline at end of file +noOppositionReportYet= No opposition report has been submitted yet. +feedback.opponent.requested.improvements = You've requested improvements from ${fullName}. \ + They have until ${deadline} to make the changes. If they fail to resubmit by that point they \ + will automatically get a failing grade.