2361 Post examiner rejection comment in forum

This commit is contained in:
Andreas Svanberg 2021-09-27 16:32:13 +02:00
parent c6e8c8b297
commit 2dcd137bb3

@ -3,6 +3,7 @@ package se.su.dsv.scipro.integration.daisy.workers;
import se.su.dsv.scipro.daisyExternal.http.DaisyAPI;
import se.su.dsv.scipro.finalthesis.FinalThesis;
import se.su.dsv.scipro.finalthesis.FinalThesisService;
import se.su.dsv.scipro.forum.ProjectForumService;
import se.su.dsv.scipro.io.dto.ThesisRejection;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.project.ProjectService;
@ -12,6 +13,7 @@ import se.su.dsv.scipro.report.SupervisorGradingReport;
import se.su.dsv.scipro.workerthreads.AbstractWorker;
import javax.inject.Inject;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@ -20,6 +22,7 @@ public class RejectedThesisWorker extends AbstractWorker {
private final GradingReportService gradingReportService;
private final ProjectService projectService;
private final FinalThesisService finalThesisService;
private final ProjectForumService projectForumService;
private final DaisyAPI daisyAPI;
@Inject
@ -27,12 +30,14 @@ public class RejectedThesisWorker extends AbstractWorker {
final GradingReportService gradingReportService,
final ProjectService projectService,
final FinalThesisService finalThesisService,
final ProjectForumService projectForumService,
final DaisyAPI daisyAPI)
{
this.gradingReportService = gradingReportService;
this.projectService = projectService;
this.finalThesisService = finalThesisService;
this.daisyAPI = daisyAPI;
this.projectForumService = projectForumService;
}
@Override
@ -53,6 +58,12 @@ public class RejectedThesisWorker extends AbstractWorker {
if (finalThesis != null && finalThesis.getStatus() != FinalThesis.Status.REJECTED && finalThesis.getLastModified().before(rejectedDate)) {
finalThesisService.reject(project);
}
if (thesisRejection.isVisibleToAuthors()) {
projectForumService.createThread(project, project.getHeadSupervisor(),
"Thesis rejected by examiner",
"The following comment was provided by the examiner. Consult with your supervisor what actions to take from here.\n\n" + thesisRejection.getMessage(),
Collections.emptySet());
}
}
}
}