Package org.fenixedu.academic.ui.struts.action.phd.seminar

Source Code of org.fenixedu.academic.ui.struts.action.phd.seminar.CommonPublicPresentationSeminarDA

/**
* Copyright © 2002 Instituto Superior Técnico
*
* This file is part of FenixEdu Academic.
*
* FenixEdu Academic is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* FenixEdu Academic is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with FenixEdu Academic.  If not, see <http://www.gnu.org/licenses/>.
*/
package org.fenixedu.academic.ui.struts.action.phd.seminar;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.fenixedu.academic.domain.exceptions.DomainException;
import org.fenixedu.academic.domain.phd.PhdIndividualProgramDocumentType;
import org.fenixedu.academic.domain.phd.PhdProgramDocumentUploadBean;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcess;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcess.RejectComission;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcess.RejectReport;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcess.SchedulePresentationDate;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcess.SubmitComission;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcess.UploadReport;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcess.ValidateComission;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcess.ValidateReport;
import org.fenixedu.academic.domain.phd.seminar.PublicPresentationSeminarProcessBean;
import org.fenixedu.academic.service.services.caseHandling.ExecuteProcessActivity;
import org.fenixedu.academic.ui.struts.action.phd.PhdProcessDA;

abstract public class CommonPublicPresentationSeminarDA extends PhdProcessDA {

    @Override
    protected PublicPresentationSeminarProcess getProcess(HttpServletRequest request) {
        return (PublicPresentationSeminarProcess) super.getProcess(request);
    }

    public ActionForward viewIndividualProgramProcess(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
            HttpServletResponse response) {
        return viewIndividualProgramProcess(request, getProcess(request));
    }

    protected ActionForward viewIndividualProgramProcess(HttpServletRequest request,
            final PublicPresentationSeminarProcess process) {
        return redirect(String.format("/phdIndividualProgramProcess.do?method=viewProcess&processId=%s", process
                .getIndividualProgramProcess().getExternalId()), request);
    }

    // submit comission
    public ActionForward prepareSubmitComission(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        final PublicPresentationSeminarProcessBean submitComissionBean =
                new PublicPresentationSeminarProcessBean(getProcess(request).getIndividualProgramProcess());
        final PhdProgramDocumentUploadBean documentBean =
                new PhdProgramDocumentUploadBean(PhdIndividualProgramDocumentType.PUBLIC_PRESENTATION_SEMINAR_COMISSION);
        submitComissionBean.setDocument(documentBean);

        request.setAttribute("submitComissionBean", submitComissionBean);

        return mapping.findForward("submitComission");

    }

    public ActionForward prepareSubmitComissionInvalid(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        request.setAttribute("submitComissionBean", getRenderedObject("submitComissionBean"));

        return mapping.findForward("submitComission");
    }

    public ActionForward submitComission(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        try {
            ExecuteProcessActivity.run(getProcess(request), SubmitComission.class, getRenderedObject("submitComissionBean"));

            addSuccessMessage(request, "message.comission.submitted.with.success");

        } catch (DomainException e) {
            addErrorMessage(request, e.getKey(), e.getArgs());
            return mapping.findForward("submitComission");
        }

        return viewIndividualProgramProcess(request, getProcess(request));

    }

    // end of submit comission

    // validate comission
    public ActionForward prepareValidateComission(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        final PublicPresentationSeminarProcessBean validateComissionBean =
                new PublicPresentationSeminarProcessBean(getProcess(request).getIndividualProgramProcess());
        final PhdProgramDocumentUploadBean documentBean =
                new PhdProgramDocumentUploadBean(PhdIndividualProgramDocumentType.PUBLIC_PRESENTATION_SEMINAR_COMISSION);
        validateComissionBean.setDocument(documentBean);

        request.setAttribute("validateComissionBean", validateComissionBean);

        return mapping.findForward("validateComission");

    }

    public ActionForward prepareValidateComissionInvalid(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        request.setAttribute("validateComissionBean", getRenderedObject("validateComissionBean"));

        return mapping.findForward("validateComission");
    }

    public ActionForward validateComission(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        try {
            ExecuteProcessActivity.run(getProcess(request), ValidateComission.class, getRenderedObject("validateComissionBean"));

            addSuccessMessage(request, "message.comission.validated.with.success");

        } catch (DomainException e) {
            addErrorMessage(request, e.getKey(), e.getArgs());
            return mapping.findForward("validateComission");
        }

        return viewIndividualProgramProcess(request, getProcess(request));

    }

    public ActionForward rejectComission(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        try {
            ExecuteProcessActivity.run(getProcess(request), RejectComission.class, getRenderedObject("validateComissionBean"));

        } catch (DomainException e) {
            addErrorMessage(request, e.getKey(), e.getArgs());
            return mapping.findForward("validateComission");
        }

        return viewIndividualProgramProcess(request, getProcess(request));

    }

    // end of validate comission

    // schedule presentation date
    public ActionForward prepareSchedulePresentationDate(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        final PublicPresentationSeminarProcessBean schedulePresentationDateBean =
                new PublicPresentationSeminarProcessBean(getProcess(request).getIndividualProgramProcess());

        request.setAttribute("schedulePresentationDateBean", schedulePresentationDateBean);

        return mapping.findForward("schedulePresentationDate");

    }

    public ActionForward prepareSchedulePresentationDateInvalid(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {

        request.setAttribute("schedulePresentationDateBean", getRenderedObject("schedulePresentationDateBean"));

        return mapping.findForward("schedulePresentationDate");
    }

    public ActionForward schedulePresentationDate(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        try {
            ExecuteProcessActivity.run(getProcess(request), SchedulePresentationDate.class,
                    getRenderedObject("schedulePresentationDateBean"));

            addSuccessMessage(request, "message.presentation.date.scheduled.with.success");

        } catch (DomainException e) {
            addErrorMessage(request, e.getKey(), e.getArgs());
            return mapping.findForward("schedulePresentationDate");
        }

        return viewIndividualProgramProcess(request, getProcess(request));

    }

    // end of schedule presentation date

    // upload report
    public ActionForward prepareUploadReport(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        final PublicPresentationSeminarProcessBean uploadReportBean =
                new PublicPresentationSeminarProcessBean(getProcess(request).getIndividualProgramProcess());

        request.setAttribute("uploadReportBean", uploadReportBean);

        return mapping.findForward("uploadReport");

    }

    public ActionForward prepareUploadReportInvalid(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        request.setAttribute("uploadReportBean", getRenderedObject("uploadReportBean"));

        return mapping.findForward("uploadReport");
    }

    public ActionForward uploadReport(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        try {
            ExecuteProcessActivity.run(getProcess(request), UploadReport.class, getRenderedObject("uploadReportBean"));

            addSuccessMessage(request, "message.public.presentation.seminar.report.uploaded.with.success");

        } catch (DomainException e) {
            addErrorMessage(request, e.getKey(), e.getArgs());
            return mapping.findForward("uploadReport");
        }

        return viewIndividualProgramProcess(request, getProcess(request));

    }

    // end of upload report

    // validate report
    public ActionForward prepareValidateReport(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        final PublicPresentationSeminarProcessBean validateReportBean =
                new PublicPresentationSeminarProcessBean(getProcess(request).getIndividualProgramProcess());

        request.setAttribute("validateReportBean", validateReportBean);

        return mapping.findForward("validateReport");

    }

    public ActionForward prepareValidateReportInvalid(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        request.setAttribute("validateReportBean", getRenderedObject("validateReportBean"));

        return mapping.findForward("validateReport");
    }

    public ActionForward validateReport(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        try {
            ExecuteProcessActivity.run(getProcess(request), ValidateReport.class, getRenderedObject("validateReportBean"));

            addSuccessMessage(request, "message.public.presentation.seminar.report.validated.with.success");

        } catch (DomainException e) {
            addErrorMessage(request, e.getKey(), e.getArgs());
            return mapping.findForward("validateReport");
        }

        return viewIndividualProgramProcess(request, getProcess(request));

    }

    public ActionForward rejectReport(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {

        try {
            ExecuteProcessActivity.run(getProcess(request), RejectReport.class, getRenderedObject("validateReportBean"));

        } catch (DomainException e) {
            addErrorMessage(request, e.getKey(), e.getArgs());
            return mapping.findForward("validateReport");
        }

        return viewIndividualProgramProcess(request, getProcess(request));

    }

    // end of validate report

}
TOP

Related Classes of org.fenixedu.academic.ui.struts.action.phd.seminar.CommonPublicPresentationSeminarDA

TOP
Copyright © 2018 www.massapi.com. 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.