/**
* Executa o login para a área administrativa.
* @return
*/
public String login() {
Employee employee = null;
try {
/*
* Verificando login e senha no banco de dados.
* Foi utilizado employee, pois funcionário e uma super class
* de administrador. Será verificado se employee é uma instância de
* administrador, caso seja setar admin. Se não, setar employee.
* As permissões serão validadas na classe AdminLoginPhaseListener.
*/
employee = facade.checkEmployee(this.admin.getUser(), this.admin.getPassword());
} catch (ServiceException e) {
FacesUtil.mensWarn(
FacesUtil.getMessage("adminControllerErrorGetLoginTitle"),
FacesUtil.getMessage("adminControllerErrorGetLogin"));
return null;
}
/*
* Se funcionário não for nulo e senha e usuário corretas
* criar a sessão e redirecionar para a página principal
* da área administrativa.
*/
if (employee != null && employee.getUser().equals(admin.getUser())
&& employee.getPassword().equals(admin.getPassword())) {
/*
* Verifica se o usuário é um administrador. Caso seja,
* setar o modelo administrator.
*/