Package org.fenixedu.academic.domain.phd.thesis

Examples of org.fenixedu.academic.domain.phd.thesis.PhdThesisProcessBean


    }

    @Override
    protected PhdMeetingSchedulingProcess executeActivity(PhdMeetingSchedulingProcess process, User userView, Object object) {

        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;
        final PhdThesisProcess thesisProcess = process.getThesisProcess();

        if (bean.isToNotify()) {
            notifyJuryElements(thesisProcess, bean);
            alertAcademicOfficeAndCoordinatorAndGuiders(thesisProcess, bean);
        }

        checkMeetingInformation(bean);

        process.addMeeting(PhdMeeting.create(process, bean.getScheduledDate(), bean.getScheduledPlace()));

        process.createState(PhdMeetingSchedulingProcessStateType.WITHOUT_THESIS_MEETING_REQUEST, userView.getPerson(),
                bean.getRemarks());

        return process;
    }
View Full Code Here


    }

    @Override
    protected PhdThesisProcess executeActivity(PhdThesisProcess process, User userView, Object object) {

        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;

        if (bean.isToNotify()) {
            notifyJuryElements(process);
            sendAlertToJuryElement(process.getIndividualProgramProcess(), process.getPresidentJuryElement(),
                    "message.phd.request.jury.reviews.external.access.jury.president.body");
        }

        if (process.getActiveState() != PhdThesisProcessStateType.WAITING_FOR_JURY_REPORTER_FEEDBACK) {
            process.createState(PhdThesisProcessStateType.WAITING_FOR_JURY_REPORTER_FEEDBACK, userView.getPerson(), "");
        }

        bean.setThesisProcess(process);
        if (process.getMeetingProcess() == null) {
            Process.createNewProcess(userView, PhdMeetingSchedulingProcess.class, bean);
        }

        return process;
View Full Code Here

        }
    }

    @Override
    protected PhdThesisProcess executeActivity(PhdThesisProcess process, User userView, Object object) {
        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;

        for (final PhdProgramDocumentUploadBean documentBean : bean.getDocuments()) {
            if (documentBean.hasAnyInformation()) {
                new PhdThesisReportFeedbackDocument(bean.getJuryElement(), documentBean.getRemarks(),
                        documentBean.getFileContent(), documentBean.getFilename(), AccessControl.getPerson());
            }
        }

        return process;
View Full Code Here

    }

    @Override
    protected PhdThesisProcess executeActivity(PhdThesisProcess process, User userView, Object object) {

        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;

        checkParameters(bean);
        LocalDate whenFinalThesisRatified = bean.getWhenFinalThesisRatified();
        process.setWhenFinalThesisRatified(whenFinalThesisRatified);

        for (final PhdProgramDocumentUploadBean document : bean.getDocuments()) {
            if (document.hasAnyInformation()) {
                process.addDocument(document, userView.getPerson());
            }
        }

        process.createState(PhdThesisProcessStateType.WAITING_FOR_FINAL_GRADE, userView.getPerson(), bean.getRemarks());

        return process;
    }
View Full Code Here

    }

    @Override
    protected PhdThesisProcess executeActivity(PhdThesisProcess process, User userView, Object object) {

        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;
        process.createState(PhdThesisProcessStateType.WAITING_FOR_JURY_CONSTITUTION, userView.getPerson(), bean.getRemarks());

        if (bean.isToNotify()) {
            AlertService.alertCoordinators(process.getIndividualProgramProcess(),
                    "message.phd.alert.jury.elements.rejected.subject", "message.phd.alert.jury.elements.rejected.body");
        }

        return process;
View Full Code Here

        throw new PreConditionNotValidException();
    }

    @Override
    protected PhdThesisProcess executeActivity(PhdThesisProcess process, User userView, Object object) {
        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;
        boolean anyDocumentSubmitted = false;

        process.setWhenJuryDesignated(bean.getWhenJuryDesignated());

        for (final PhdProgramDocumentUploadBean each : bean.getDocuments()) {
            if (each.hasAnyInformation()) {

                process.addDocument(each, userView.getPerson());

                if (bean.getGenerateAlert()) {
                    alertIfNecessary(bean, process, each, userView.getPerson());
                }

                anyDocumentSubmitted = true;
            }
        }

        if (anyDocumentSubmitted) {
            if (!process.hasState(PhdThesisProcessStateType.JURY_WAITING_FOR_VALIDATION)) {
                process.createState(PhdThesisProcessStateType.JURY_WAITING_FOR_VALIDATION, userView.getPerson(),
                        bean.getRemarks());
            }
        }

        return process;
    }
View Full Code Here

        throw new PreConditionNotValidException();
    }

    @Override
    protected PhdThesisProcess executeActivity(PhdThesisProcess process, User userView, Object object) {
        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;

        process.deleteLastState();

        process.rejectJuryElementsDocuments();

        if (bean.isToNotify()) {
            AlertService.alertCoordinators(process.getIndividualProgramProcess(),
                    "message.phd.alert.reject.jury.elements.documents.subject",
                    "message.phd.alert.reject.jury.elements.documents.body");
        }
View Full Code Here

        }
    }

    @Override
    protected PhdThesisProcess executeActivity(PhdThesisProcess process, User userView, Object object) {
        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;
        process.createState(PhdThesisProcessStateType.WAITING_FOR_JURY_CONSTITUTION, userView.getPerson(), bean.getRemarks());

        if (bean.isToNotify()) {
            AlertService.alertCoordinators(process.getIndividualProgramProcess(),
                    "message.phd.alert.request.jury.elements.subject", "message.phd.alert.request.jury.elements.body");
        }

        return process;
View Full Code Here

        }
    }

    @Override
    protected PhdThesisProcess executeActivity(PhdThesisProcess process, User userView, Object object) {
        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;

        for (final PhdProgramDocumentUploadBean each : bean.getDocuments()) {
            if (each.hasAnyInformation()) {
                process.addDocument(each, userView.getPerson());
            }
        }

        checkParameters(bean);

        LocalDate conclusionDate = bean.getConclusionDate();
        process.setConclusionDate(conclusionDate);
        process.setFinalGrade(bean.getFinalGrade());

        if (!process.hasState(PhdThesisProcessStateType.CONCLUDED)) {
            process.createState(PhdThesisProcessStateType.CONCLUDED, userView.getPerson(), bean.getRemarks());
        }

        return process;

    }
View Full Code Here

    }

    @Override
    protected PhdMeetingSchedulingProcess executeActivity(PhdMeetingSchedulingProcess process, User userView, Object object) {

        final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;
        final PhdThesisProcess thesisProcess = process.getThesisProcess();

        if (bean.isToNotify()) {
            notifyJuryElements(thesisProcess, bean);
            alertAcademicOfficeAndCoordinatorAndGuiders(thesisProcess, bean);
        }

        checkMeetingInformation(bean);

        thesisProcess.setMeetingDate(bean.getScheduledDate());
        thesisProcess.setMeetingPlace(bean.getScheduledPlace());
        thesisProcess.createState(PhdThesisProcessStateType.WAITING_FOR_THESIS_DISCUSSION_DATE_SCHEDULING, userView.getPerson(),
                bean.getRemarks());

        process.addMeeting(PhdMeeting.create(process, bean.getScheduledDate(), bean.getScheduledPlace()));
        process.createState(PhdMeetingSchedulingProcessStateType.WITHOUT_THESIS_MEETING_REQUEST, userView.getPerson(),
                bean.getRemarks());

        return process;
    }
View Full Code Here

TOP

Related Classes of org.fenixedu.academic.domain.phd.thesis.PhdThesisProcessBean

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.