Package org.fenixedu.academic.ui.faces.bean.bolonhaManager.curricularPlans

Source Code of org.fenixedu.academic.ui.faces.bean.bolonhaManager.curricularPlans.CycleCourseGroupInformationManagementBackingBean

/**
* 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.faces.bean.bolonhaManager.curricularPlans;

import java.util.List;

import org.fenixedu.academic.domain.ExecutionYear;
import org.fenixedu.academic.domain.degreeStructure.CycleCourseGroup;
import org.fenixedu.academic.domain.degreeStructure.CycleCourseGroupInformation;
import org.fenixedu.academic.domain.exceptions.DomainException;
import org.fenixedu.academic.util.Bundle;
import org.fenixedu.bennu.core.i18n.BundleUtil;

import pt.ist.fenixframework.FenixFramework;

public class CycleCourseGroupInformationManagementBackingBean extends CurricularCourseManagementBackingBean {

    private String courseGroupID;
    private String informationExecutionYearId;

    private String informationId;

    private String graduateTitleSuffix;
    private String graduateTitleSuffixEn;

    public CycleCourseGroup getCourseGroup(String courseGroupID) {
        return (CycleCourseGroup) FenixFramework.getDomainObject(courseGroupID);
    }

    public List<CycleCourseGroupInformation> getCycleCourseGroupInformationList() {
        CycleCourseGroup courseGroup = getCourseGroup(getCourseGroupID());
        return courseGroup.getCycleCourseGroupInformationOrderedByExecutionYear();
    }

    public String prepareEditCourseGroupInformation() {
        CycleCourseGroupInformation information = getInformation();
        setInformationExecutionYearId(information.getExecutionYear().getExternalId());
        setInformationId(information.getExternalId());

        setGraduateTitleSuffix(information.getGraduateTitleSuffixDefault());
        setGraduateTitleSuffixEn(information.getGraduateTitleSuffixEn());

        return "";
    }

    public String editCourseGroupInformation() {
        try {
            CycleCourseGroupInformation information = getInformation();

            if (information != null) {
                information.edit(getInformationExecutionYear(), getGraduateTitleSuffix(), getGraduateTitleSuffixEn());
            } else {
                CycleCourseGroup courseGroup = getCourseGroup(getCourseGroupID());
                courseGroup.createCycleCourseGroupInformation(getInformationExecutionYear(), getGraduateTitleSuffix(),
                        getGraduateTitleSuffixEn());
            }

            this.addInfoMessage(BundleUtil.getString(Bundle.BOLONHA, "cycleCourseGroupInformationEdit"));

            setGraduateTitleSuffix("");
            setGraduateTitleSuffixEn("");
            setInformationExecutionYearId(null);

            return "editCurricularPlanStructure";
        } catch (DomainException e) {
            this.addErrorMessage(BundleUtil.getString(Bundle.BOLONHA, e.getMessage()));
            return "";
        }
    }

    /* GETTERS AND SETTERS */

    @Override
    public String getCourseGroupID() {
        return (this.courseGroupID != null) ? this.courseGroupID : getAndHoldStringParameter("courseGroupID");
    }

    @Override
    public void setCourseGroupID(String courseGroupID) {
        this.courseGroupID = courseGroupID;
    }

    public String getInformationExecutionYearId() {
        return informationExecutionYearId != null ? informationExecutionYearId : NO_SELECTION_STRING;
    }

    public void setInformationExecutionYearId(String informationExecutionYearId) {
        this.informationExecutionYearId = informationExecutionYearId;
    }

    public ExecutionYear getInformationExecutionYear() {
        return FenixFramework.getDomainObject(getInformationExecutionYearId());
    }

    public String getInformationId() {
        return informationId != null ? informationId : (informationId = getAndHoldStringParameter("informationId"));
    }

    public CycleCourseGroupInformation getInformation() {
        return getInformationId() != null ? FenixFramework.<CycleCourseGroupInformation> getDomainObject(getInformationId()) : null;
    }

    public void setInformationId(String informationId) {
        this.informationId = informationId;
    }

    public String getGraduateTitleSuffix() {
        return graduateTitleSuffix;
    }

    public void setGraduateTitleSuffix(String graduateTitleSuffix) {
        this.graduateTitleSuffix = graduateTitleSuffix;
    }

    public String getGraduateTitleSuffixEn() {
        return graduateTitleSuffixEn;
    }

    public void setGraduateTitleSuffixEn(String graduateTitleSuffixEn) {
        this.graduateTitleSuffixEn = graduateTitleSuffixEn;
    }
}
TOP

Related Classes of org.fenixedu.academic.ui.faces.bean.bolonhaManager.curricularPlans.CycleCourseGroupInformationManagementBackingBean

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.