Update supervisor's idea table immediately upon scheduling a first meeting #105
@ -10,6 +10,8 @@ import java.time.Month;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import se.su.dsv.scipro.checklist.ChecklistCategory;
|
import se.su.dsv.scipro.checklist.ChecklistCategory;
|
||||||
import se.su.dsv.scipro.match.ApplicationPeriod;
|
import se.su.dsv.scipro.match.ApplicationPeriod;
|
||||||
|
import se.su.dsv.scipro.match.Idea;
|
||||||
|
import se.su.dsv.scipro.match.IdeaService;
|
||||||
import se.su.dsv.scipro.match.Keyword;
|
import se.su.dsv.scipro.match.Keyword;
|
||||||
import se.su.dsv.scipro.milestones.dataobjects.MilestoneActivityTemplate;
|
import se.su.dsv.scipro.milestones.dataobjects.MilestoneActivityTemplate;
|
||||||
import se.su.dsv.scipro.milestones.dataobjects.MilestonePhaseTemplate;
|
import se.su.dsv.scipro.milestones.dataobjects.MilestonePhaseTemplate;
|
||||||
@ -22,6 +24,7 @@ import se.su.dsv.scipro.report.GradingCriterionPointTemplate;
|
|||||||
import se.su.dsv.scipro.report.GradingReportTemplate;
|
import se.su.dsv.scipro.report.GradingReportTemplate;
|
||||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||||
import se.su.dsv.scipro.system.*;
|
import se.su.dsv.scipro.system.*;
|
||||||
|
import se.su.dsv.scipro.util.Pair;
|
||||||
|
|
||||||
public class DataInitializer implements Lifecycle {
|
public class DataInitializer implements Lifecycle {
|
||||||
|
|
||||||
@ -36,6 +39,9 @@ public class DataInitializer implements Lifecycle {
|
|||||||
@Inject
|
@Inject
|
||||||
private PasswordService passwordService;
|
private PasswordService passwordService;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private IdeaService ideaService;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private MilestoneActivityTemplateService milestoneActivityTemplateService;
|
private MilestoneActivityTemplateService milestoneActivityTemplateService;
|
||||||
|
|
||||||
@ -75,6 +81,8 @@ public class DataInitializer implements Lifecycle {
|
|||||||
private ResearchArea researchArea2;
|
private ResearchArea researchArea2;
|
||||||
private ProjectType masterClass;
|
private ProjectType masterClass;
|
||||||
private ProjectType magisterClass;
|
private ProjectType magisterClass;
|
||||||
|
private ApplicationPeriod applicationPeriod;
|
||||||
|
private Keyword keyword1;
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
@ -88,6 +96,7 @@ public class DataInitializer implements Lifecycle {
|
|||||||
createKeywordsIfNotDone();
|
createKeywordsIfNotDone();
|
||||||
createMilestonesIfNotDone();
|
createMilestonesIfNotDone();
|
||||||
createUsers();
|
createUsers();
|
||||||
|
createMatchedIdea();
|
||||||
createProjects();
|
createProjects();
|
||||||
}
|
}
|
||||||
if (profile.getCurrentProfile() == Profiles.DEV && noAdminUser()) {
|
if (profile.getCurrentProfile() == Profiles.DEV && noAdminUser()) {
|
||||||
@ -103,18 +112,18 @@ public class DataInitializer implements Lifecycle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void createApplicationPeriodIfNotDone() {
|
private void createApplicationPeriodIfNotDone() {
|
||||||
ApplicationPeriod applicationPeriod = new ApplicationPeriod("HT 2014");
|
applicationPeriod = new ApplicationPeriod("HT 2014");
|
||||||
applicationPeriod.setStartDate(LocalDate.now().minusDays(APPLICATION_PERIOD_START_MINUS_DAYS));
|
applicationPeriod.setStartDate(LocalDate.now().minusDays(APPLICATION_PERIOD_START_MINUS_DAYS));
|
||||||
applicationPeriod.setEndDate(LocalDate.now().plusDays(APPLICATION_PERIOD_END_PLUS_DAYS));
|
applicationPeriod.setEndDate(LocalDate.now().plusDays(APPLICATION_PERIOD_END_PLUS_DAYS));
|
||||||
applicationPeriod.setCourseStartDate(LocalDate.now().plusDays(APPLICATION_PERIOD_COURSE_START_PLUS_DAYS));
|
applicationPeriod.setCourseStartDate(LocalDate.now().plusDays(APPLICATION_PERIOD_COURSE_START_PLUS_DAYS));
|
||||||
applicationPeriod.setCourseStartTime(LocalTime.of(8, 0));
|
applicationPeriod.setCourseStartTime(LocalTime.of(8, 0));
|
||||||
applicationPeriod = save(applicationPeriod);
|
applicationPeriod = save(applicationPeriod);
|
||||||
applicationPeriod.setProjectTypes(new HashSet<>(Collections.singletonList(bachelorClass)));
|
applicationPeriod.setProjectTypes(new HashSet<>(Set.of(bachelorClass, masterClass)));
|
||||||
save(applicationPeriod);
|
save(applicationPeriod);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createKeywordsIfNotDone() {
|
private void createKeywordsIfNotDone() {
|
||||||
Keyword keyword1 = new Keyword("IT");
|
keyword1 = new Keyword("IT");
|
||||||
keyword1.addResearchArea(researchArea1);
|
keyword1.addResearchArea(researchArea1);
|
||||||
keyword1.addResearchArea(researchArea2);
|
keyword1.addResearchArea(researchArea2);
|
||||||
save(keyword1);
|
save(keyword1);
|
||||||
@ -248,6 +257,22 @@ public class DataInitializer implements Lifecycle {
|
|||||||
return u;
|
return u;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void createMatchedIdea() {
|
||||||
|
Idea idea = new Idea();
|
||||||
|
idea.setApplicationPeriod(applicationPeriod);
|
||||||
|
idea.setType(Idea.Type.SUPERVISOR);
|
||||||
|
idea.setProjectType(masterClass);
|
||||||
|
idea.setTitle("Idea without first meeting");
|
||||||
|
idea.setDescription("Explore the deep sea");
|
||||||
|
idea.setPrerequisites("Diving experience");
|
||||||
|
idea.setResearchArea(researchArea1);
|
||||||
|
idea.setPublished(true);
|
||||||
|
Idea saved = ideaService.saveSupervisorIdea(idea, eve_employee, new ArrayList<>(Set.of(keyword1)), true);
|
||||||
|
Pair<Boolean, String> validated = ideaService.validateAdminAddAuthors(saved, Set.of(sid_student));
|
||||||
|
assert validated.getHead();
|
||||||
|
ideaService.setAuthors(saved, Set.of(sid_student), eve_employee);
|
||||||
|
}
|
||||||
|
|
||||||
private void createGradingCriterionTemplateIfNotDone() {
|
private void createGradingCriterionTemplateIfNotDone() {
|
||||||
save(getBachelorTemplate());
|
save(getBachelorTemplate());
|
||||||
save(getMasterTemplate());
|
save(getMasterTemplate());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user