/*Coloca a funcionalidade na sessão para
* ser recuperada na tela de ajuda
*/
request.getSession().setAttribute(Constants.SR_FUNCIONALIDADE, role);
ControleAcessoCtrl controleAcessoCtrl = new ControleAcessoCtrl(
daoFactory);
Orgao orgao = orgaoCtrl.get((String) request.getSession().getAttribute(
Constants.ID_SESSAO_ORGAO));
/* verifico a vigência do órgão para acionamento e consulta resposta */
String redirect = null;
int vigenciaOrgao = controleAcessoCtrl.verificaVigenciaOrgao(orgao,
role);
switch (vigenciaOrgao) {
case ControleAcessoCtrl.VG_FORA_PERIODO_ACIONAMENTO:
redirect = Constants.CAD_ACNMNT_FORA_VIGENCIA_PAGE;
break;
case ControleAcessoCtrl.VG_FORA_PERIODO_CONSULTA_RESPOSTA:
redirect = Constants.CON_RESPTA_FORA_VIGENCIA_PAGE;
break;
case ControleAcessoCtrl.VG_FORA_PERIODO_OPERACAO:
redirect = Constants.CAD_OPERACAO_FORA_VIGENCIA_PAGE;
break;
default:
// DO NOTHING
}
if (redirect != null) {
controleAcessoCtrl = null;
/* retiro o controle do struts */
doForward(redirect, request, response);
return false;
}
/* verifico o acesso do funcionario ao sistema */
int possuiAcesso = ControleAcessoCtrl.CA_NECESSARIO_LOGIN;
try {
Long funcionarioId = (Long) request.getSession().getAttribute(
Constants.PA_FUNCIONARIO);
FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(daoFactory);
Funcionario funcionario = (Funcionario) funcionarioCtrl
.get(funcionarioId);
possuiAcesso = controleAcessoCtrl.permiteAcesso(orgao, funcionario,
regras);
} catch (DaoException e) {
System.out.println(e.getMessage());
e.printStackTrace();