예제 #1
0
 public void logar() {
   try {
     if (StringHelper.isEmpty(email) || StringHelper.isEmpty(senha)) {
       throw new BusinessException("Por favor informe o E-mail e a Senha!");
     }
     Usuario login =
         doInTransaction(
             new PersistenceAction<Usuario>() {
               @Override
               public Usuario execute(Session s) throws BusinessException {
                 Criteria criteria = s.createCriteria(Usuario.class);
                 criteria.add(Restrictions.eq("email", email));
                 criteria.add(Restrictions.eq("senha", senha));
                 Usuario login = (Usuario) criteria.uniqueResult();
                 if (login == null) {
                   throw new BusinessException("Email ou senha inválidos!");
                 }
                 return login;
               }
             });
     senha = null;
     Context.setLogin(login);
     if (Context.getLogin().getPermissao().equals("USER")) {
       url = "lancar-acertos.jsf";
     }
   } catch (BusinessException ex) {
     addMessage(FacesMessage.SEVERITY_WARN, ex.getMessage());
     Logger.getLogger(LoginView.class.getName()).log(Level.SEVERE, null, ex);
   }
 }
예제 #2
0
  public void alterarSenha() {
    try {
      if (StringHelper.isEmpty(senha) || StringHelper.isEmpty(repetirSenha)) {
        addMessage(FacesMessage.SEVERITY_WARN, "Informe e repita a nova senha nos campos!");
        return;
      }
      if (!senha.equals(repetirSenha)) {
        addMessage(
            FacesMessage.SEVERITY_WARN,
            "As senhas digitadas nos dois campos estão diferentes! Digite a mesma senha em ambas as caixas!");
      }
      doInTransaction(
          new PersistenceActionWithoutResult() {

            @Override
            public void execute(Session s) throws BusinessException {
              Usuario login = Context.getLogin();
              login.setSenha(senha);
              login.setAlterarSenha(false);
              login.setSession(s);
              login.save();
              Context.setLogin(login);
            }
          });
    } catch (BusinessException ex) {
      addMessage(FacesMessage.SEVERITY_WARN, ex.getMessage());
      Logger.getLogger(LoginView.class.getName()).log(Level.SEVERE, null, ex);
    }
  }
예제 #3
0
 public void redirecionar() {
   try {
     if (StringHelper.isEmpty(url)) {
       url =
           FacesContext.getCurrentInstance()
               .getExternalContext()
               .getRequestParameterMap()
               .get("retorno");
       if (StringHelper.isEmpty(url)) {
         url = RETURN_DEFAULT;
       }
     }
     FacesContext.getCurrentInstance().getExternalContext().redirect(url);
   } catch (IOException ex) {
     addMessage(FacesMessage.SEVERITY_ERROR, "Erro ao redirecionar a página!");
     Logger.getLogger(LoginView.class.getName()).log(Level.SEVERE, null, ex);
   }
 }