Skip to content
Snippets Groups Projects
DossierCreationProcess.java 1.48 KiB
Newer Older
package unipotsdam.gf.process;

import unipotsdam.gf.modules.project.Management;
import unipotsdam.gf.modules.project.Project;
import unipotsdam.gf.modules.project.ProjectDAO;
import unipotsdam.gf.modules.submission.controller.SubmissionController;
import unipotsdam.gf.modules.submission.model.FullSubmission;
import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest;
import unipotsdam.gf.modules.user.User;
import unipotsdam.gf.modules.user.UserDAO;
import unipotsdam.gf.process.phases.Phase;
import unipotsdam.gf.process.tasks.TaskDAO;
import unipotsdam.gf.process.tasks.TaskName;
import unipotsdam.gf.process.tasks.TaskType;

import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.List;

@Singleton
public class DossierCreationProcess {


    @Inject
    SubmissionController submissionController;

    @Inject
    private Management management;
    
    @Inject
    private UserDAO userDAO;

    @Inject
    private TaskDAO taskDAO;

    public void startDossierPhase(Project project) {
        taskDAO.persistMemberTask(project, TaskName.UPLOAD_DOSSIER, Phase.DossierFeedback);
    }

    public FullSubmission addSubmission(
            FullSubmissionPostRequest fullSubmissionPostRequest, User user, Project project) {
        FullSubmission fullSubmission = submissionController.addFullSubmission(fullSubmissionPostRequest);

        taskDAO.persist(project, user, TaskName.ANNOTATE_DOSSIER, Phase.DossierFeedback, TaskType.LINKED);

        return fullSubmission;
    }