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

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


        ExecuteProcessActivity.run(individualProcess.getThesisProcess(), SkipThesisJuryActivities.class.getSimpleName(),
                thesisBean);
    }

    private void manageMeetingsAndFinalThesis(final User userView, final PhdIndividualProgramProcess individualProcess) {
        final PhdThesisProcess thesisProcess = individualProcess.getThesisProcess();
        final PhdThesisProcessBean thesisBean = new PhdThesisProcessBean();
        thesisBean.setThesisProcess(thesisProcess);
        thesisBean.setToNotify(false);
        thesisBean.setGenerateAlert(false);
        final PhdMeetingSchedulingProcess meetingProcess = thesisProcess.getMeetingProcess();
        ExecuteProcessActivity.run(meetingProcess, ScheduleFirstThesisMeetingRequest.class, thesisBean);

        thesisBean.setScheduledDate(getMeetingDate());
        thesisBean.setScheduledPlace("");
        ExecuteProcessActivity.run(meetingProcess, SkipScheduleFirstThesisMeeting.class, thesisBean);
View Full Code Here


            return null;
        }
    }

    private void ratifyFinalThesis(final User userView, final PhdIndividualProgramProcess individualProcess) {
        final PhdThesisProcess thesisProcess = individualProcess.getThesisProcess();
        final PhdThesisProcessBean thesisBean = new PhdThesisProcessBean();
        thesisBean.setThesisProcess(thesisProcess);
        thesisBean.setToNotify(false);
        thesisBean.setGenerateAlert(false);
        thesisBean.setWhenFinalThesisRatified(getProcessBean().getEdictDate());
View Full Code Here

        throw new DomainException("error.PhdThesisProcess.unexpected.participant.type");
    }

    @Override
    protected void log(PhdMeetingSchedulingProcess process, User userView, Object object) {
        PhdThesisProcess thesisProcess = process.getThesisProcess();

        PhdLog.logActivity(this, thesisProcess, userView, object);
    }
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()) {
            // Alert president jury element
            AlertService.alertParticipants(thesisProcess.getIndividualProgramProcess(), AlertMessage
                    .create("message.phd.request.schedule.meeting.president.notification.subject"), AlertMessage
                    .create("message.phd.request.schedule.meeting.president.notification.body"), thesisProcess
                    .getPresidentJuryElement().getParticipant());

            AlertService.alertResponsibleCoordinators(thesisProcess.getIndividualProgramProcess(), AlertMessage
                    .create("message.phd.request.schedule.meeting.coordinator.notification.subject"), AlertMessage.create(
                    "message.phd.request.schedule.meeting.coordinator.notification.body", thesisProcess.getPresidentJuryElement()
                            .getNameWithTitle()));

        }

        process.createState(PhdMeetingSchedulingProcessStateType.WAITING_THESIS_MEETING_SCHEDULE, userView.getPerson(),
View Full Code Here

public class ScheduleThesisMeeting extends PhdMeetingSchedulingActivity {

    @Override
    protected void activityPreConditions(PhdMeetingSchedulingProcess process, User userView) {

        final PhdThesisProcess thesisProcess = process.getThesisProcess();

        if (!process.getActiveState().equals(PhdMeetingSchedulingProcessStateType.WAITING_THESIS_MEETING_SCHEDULE)) {
            throw new PreConditionNotValidException();
        }

        if (process.isAllowedToManageProcess(userView)) {
            return;
        }

        if (!thesisProcess.isPresidentJuryElement(userView.getPerson())) {
            throw new PreConditionNotValidException();
        }
    }
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);
        }
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());
View Full Code Here

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

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

        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());
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()) {

            // Alert president jury element
            AlertService.alertParticipants(thesisProcess.getIndividualProgramProcess(), AlertMessage
                    .create("message.phd.request.schedule.meeting.president.notification.subject"), AlertMessage
                    .create("message.phd.request.schedule.meeting.president.notification.body"), thesisProcess
                    .getPresidentJuryElement().getParticipant());

            AlertService.alertResponsibleCoordinators(thesisProcess.getIndividualProgramProcess(), AlertMessage
                    .create("message.phd.request.schedule.meeting.coordinator.notification.subject"), AlertMessage.create(
                    "message.phd.request.schedule.meeting.coordinator.notification.body", thesisProcess.getPresidentJuryElement()
                            .getNameWithTitle()));

        }

        thesisProcess.createState(PhdThesisProcessStateType.WAITING_FOR_THESIS_MEETING_SCHEDULING, userView.getPerson(),
                bean.getRemarks());
        process.createState(PhdMeetingSchedulingProcessStateType.WAITING_FIRST_THESIS_MEETING_SCHEDULE, userView.getPerson(),
                bean.getRemarks());

        return process;
View Full Code Here

TOP

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

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.