Subversion Repositories bacoAlunos

Rev

Rev 1606 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.filters.filters;

import pt.estgp.estgweb.domain.CourseImpl;
import pt.estgp.estgweb.domain.QuestionarioReportCursoFile;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;

/**
 * @author Jorge Machado
 * @date 4/Jun/2008
 * @see pt.estgp.estgweb.filters.filters
 */

public class ResourceAccessControlQuestionariosReportCursoPrivateFilter extends ResourceAccessControlQuestionariosReportBoardsPedagogicoFilter
{
    public boolean canAccessResource(UserSession userSession, 1.5.0/docs/api/java/lang/String.html">String identifier)
    {

        if(userSession.getUser() != null && userSession.getUser() instanceof Teacher)
        {
            QuestionarioReportCursoFile q =
                    DaoFactory.getQuestionarioReportCursoFileDaoImpl().findByRepository(identifier);

            CourseImpl course = DaoFactory.getCourseDaoImpl().findCourseByCode(q.getEntityCode());

            if(q == null)
            {
                return false;
            }
            //comissao so ve se estiver ativo
            if(q.isActive() && course.isFromCourseCommission(userSession))
            {
                return true;
            }
            //BOARD ve sempre
            else if(super.canAccessResource(userSession,identifier))
            {
                return true;
            }
            //BOARD DA ESCOLA SO VE SE ESTIVER ATIVO
            else if(q.isActive())
            {
                /*DIRECAO DA ESCOLA SAI
                if(userSession.getUser().hasRole(Globals.ROLE_BOARD_SCHOOL(course.getInstitutionalCode())))
                    return true;
                */

            }
        }
        return false;
    }
}