Subversion Repositories bacoAlunos

Rev

Rev 1315 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.web.controllers.questionarios;

import jomm.dao.impl.AbstractDao;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.ConfigurationGradesEpocaAvaliacao;
import pt.estgp.estgweb.domain.ConfigurationGradesStatusEpoca;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm;

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

/**
 * @author Jorge Machado
 * @date 26/Fev/2008
 * @time 18:01:54
 * @see pt.estgp.estgweb.web
 */

public class QuestionarioController extends ApplicationDispatchController
{

    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(QuestionarioController.class);



    public ActionForward saveGrades(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
            throws ServletException
    {

        if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
        {
            return mapping.findForward("error401");
        }

        ConfigurationGradesForm f = (ConfigurationGradesForm) form;
        AbstractDao.getCurrentSession().beginTransaction();
        for(ConfigurationGradesEpocaAvaliacao a: f.getConfigurationGrades().getEpocasAvaliacao())
        {
            if(a.getId() > 0)
            {
                ConfigurationGradesEpocaAvaliacao persist = DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().load(a.getId());
                persist.setCodigoEpoca(a.getCodigoEpoca());
                persist.setCodigoMomento(a.getCodigoMomento());
                persist.setObs(a.getObs());
                persist.setDescricao(a.getDescricao());
            }
        }

        for(ConfigurationGradesStatusEpoca a: f.getConfigurationGrades().getStatusEpocas())
        {
            if(a.getId() > 0)
            {
                ConfigurationGradesStatusEpoca persist = DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().load(a.getId());
                persist.setStatus(a.getStatus());
                persist.setObs(a.getObs());
                persist.setDescricao(a.getDescricao());
            }
        }
        AbstractDao.getCurrentSession().getTransaction().commit();

        return mapping.findForward("grades");
    }



}