Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.services.surveys;

import pt.estgp.estgweb.domain.Survey;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.views.SurveyView;
import pt.estgp.estgweb.utils.RoleManager;
import pt.utl.ist.berserk.logic.serviceManager.IService;

import java.util.ArrayList;
import java.util.List;

/**
 * @author: Duarte Santos
 * @date: 17-08-2011
 * @time: 0:53
 * @email: a12564 [at] estgp [dot] pt
 */


public class LoadConsultStatsSurveysService implements IService
{
    public List<SurveyView> run(UserSession userSession)
    {
        List<Survey> surveys = DaoFactory.getSurveyDaoImpl().loadAllSurveys();
        List<SurveyView> surveyViews = new ArrayList<SurveyView>();
        for(Survey s : surveys)
        {
            List<String> statsConsultRolesList = RoleManager.getRolesFromSerial(s.getStatsConsultRoles());
            if(s.isOwnedBy(userSession.getUser()) || statsConsultRolesList.contains("all") || userSession.getUser().hasRole(statsConsultRolesList) || userSession.getUser().isSuperuserOrAdmin())
                surveyViews.add(new SurveyView(s));
        }
        return surveyViews;
    }
}