foo
This commit is contained in:
parent
8ce045b33c
commit
3c83bdd067
core/src/main
@ -669,13 +669,15 @@ public class CoreConfig {
|
||||
OppositionReportRepo oppositionReportRepository,
|
||||
GradingReportTemplateRepo gradingReportTemplateRepository,
|
||||
FileService fileService,
|
||||
FinalSeminarOppositionRepo finalSeminarOppositionRepository
|
||||
FinalSeminarOppositionRepo finalSeminarOppositionRepository,
|
||||
Clock clock
|
||||
) {
|
||||
return new OppositionReportServiceImpl(
|
||||
oppositionReportRepository,
|
||||
gradingReportTemplateRepository,
|
||||
fileService,
|
||||
finalSeminarOppositionRepository
|
||||
finalSeminarOppositionRepository,
|
||||
clock
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@ import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import java.time.Instant;
|
||||
import java.util.Objects;
|
||||
import se.su.dsv.scipro.file.FileReference;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
@ -31,6 +32,14 @@ public class FinalSeminarOpposition extends FinalSeminarParticipation {
|
||||
@Column(name = "feedback", length = FEEDBACK_LENGTH)
|
||||
private String feedback;
|
||||
|
||||
@Basic
|
||||
@Column(name = "improvements_requested_at")
|
||||
private Instant improvementsRequestedAt;
|
||||
|
||||
@Basic
|
||||
@Column(name = "supervisor_improvements_comment")
|
||||
private String supervisorCommentForImprovements;
|
||||
|
||||
// ----------------------------------------------------------------------------------
|
||||
// JPA-mappings of foreign keys in this table (final_seminar_opposition) referencing
|
||||
// other tables.
|
||||
@ -92,6 +101,22 @@ public class FinalSeminarOpposition extends FinalSeminarParticipation {
|
||||
this.oppositionReport = oppositionReport;
|
||||
}
|
||||
|
||||
public Instant getImprovementsRequestedAt() {
|
||||
return improvementsRequestedAt;
|
||||
}
|
||||
|
||||
public void setImprovementsRequestedAt(Instant improvementsRequestedAt) {
|
||||
this.improvementsRequestedAt = improvementsRequestedAt;
|
||||
}
|
||||
|
||||
public String getSupervisorCommentForImprovements() {
|
||||
return supervisorCommentForImprovements;
|
||||
}
|
||||
|
||||
public void setSupervisorCommentForImprovements(String supervisorCommentsForImprovements) {
|
||||
this.supervisorCommentForImprovements = supervisorCommentsForImprovements;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------
|
||||
// Methods Common To All Objects
|
||||
// ----------------------------------------------------------------------------------
|
||||
|
@ -7,4 +7,6 @@ public interface OppositionReportService {
|
||||
void save(OppositionReport oppositionReport);
|
||||
void deleteOppositionReport(FinalSeminarOpposition finalSeminarOpposition);
|
||||
void deleteOpponentReport(FinalSeminarOpposition modelObject);
|
||||
|
||||
void requestCompletion(FinalSeminarOpposition opposition, String supervisorComment);
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package se.su.dsv.scipro.report;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.inject.Named;
|
||||
import jakarta.transaction.Transactional;
|
||||
import java.time.Clock;
|
||||
import se.su.dsv.scipro.file.FileReference;
|
||||
import se.su.dsv.scipro.file.FileService;
|
||||
import se.su.dsv.scipro.finalseminar.FinalSeminarOpposition;
|
||||
@ -15,18 +16,21 @@ public class OppositionReportServiceImpl implements OppositionReportService {
|
||||
private GradingReportTemplateRepo gradingReportTemplateRepo;
|
||||
private FileService fileService;
|
||||
private FinalSeminarOppositionRepo finalSeminarOppositionRepo;
|
||||
private final Clock clock;
|
||||
|
||||
@Inject
|
||||
public OppositionReportServiceImpl(
|
||||
OppositionReportRepo oppositionReportRepo,
|
||||
GradingReportTemplateRepo gradingReportTemplateRepo,
|
||||
FileService fileService,
|
||||
FinalSeminarOppositionRepo finalSeminarOppositionRepo
|
||||
FinalSeminarOppositionRepo finalSeminarOppositionRepo,
|
||||
Clock clock
|
||||
) {
|
||||
this.oppositionReportRepo = oppositionReportRepo;
|
||||
this.gradingReportTemplateRepo = gradingReportTemplateRepo;
|
||||
this.fileService = fileService;
|
||||
this.finalSeminarOppositionRepo = finalSeminarOppositionRepo;
|
||||
this.clock = clock;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -74,4 +78,16 @@ public class OppositionReportServiceImpl implements OppositionReportService {
|
||||
finalSeminarOppositionRepo.save(finalSeminarOpposition);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void requestCompletion(FinalSeminarOpposition opposition, String supervisorComment) {
|
||||
OppositionReport oppositionReport = opposition.getOppositionReport();
|
||||
if (oppositionReport == null) {
|
||||
return;
|
||||
}
|
||||
oppositionReport.setSubmitted(false);
|
||||
opposition.setImprovementsRequestedAt(clock.instant());
|
||||
opposition.setSupervisorCommentForImprovements(supervisorComment);
|
||||
}
|
||||
}
|
||||
|
3
core/src/main/resources/db/migration/V5__final_seminar_opposition_request_improvements.sql
Normal file
3
core/src/main/resources/db/migration/V5__final_seminar_opposition_request_improvements.sql
Normal file
@ -0,0 +1,3 @@
|
||||
ALTER TABLE `final_seminar_opposition`
|
||||
ADD COLUMN `improvements_requested_at` DATETIME NULL,
|
||||
ADD COLUMN `supervisor_improvements_comment` TEXT NULL;
|
Loading…
x
Reference in New Issue
Block a user