Boa tarde galera do GUJ, o melhor fórum brasileiro de todos os tempos! rsrs
O problema é o seguinte:
- Tenho uma aplicação web, que ao efetuar o login, é testado se o usuário ja efetuou o login, e não efetuou o bit que indica isso no banco de dados é alterado e ele é redirecionado para a pagina de update de usuário para que ele possa complementar as informações de cadastro e etc!
Porém, o administrador do sistema (eu) quero atualizar o usuário mesmo se ele não tenha efetuado o primeiro login ainda!
Acredito que o problema esteja simplesmente na lógica:
String mensagem = "";
if(idUsuario != idUser)
{
out.println(usuario.UpdateUsuarioPassword(idUser, chaSenha, request.getRemoteHost()));
out.println("<script type='text/javascript'>window.location='index.jsp';</script>");
}
if(!usuario.GetPrimeiroLogin(idUser, request.getRemoteHost()))
{
mensagem = usuario.UpdateUsuarioPassword(idUser, chaSenha, request.getRemoteHost());
}
else
{
mensagem = usuario.UpdateInformacoesUsuario(idUser, sessionUsuario.getAttribute("nomeUsuario").toString(), chaSenha, chaNome, chaTelefone, chaCelular, chaFax, chaEmail, idCargo, idTipoUsuario, idCidade, idEmpresa, request.getRemoteHost());
}
if(userPermission.UserFuncionario(idUser, request.getRemoteHost()) || userPermission.UserAdmin(idUser, request.getRemoteHost()))
{
usuario.UpdateUsuarioLogin(idUser, request.getRemoteHost());
out.println(mensagem);
out.println("<script type='text/javascript'>alert('Suas informações entrarão em vigor a partir do próximo login.')</script>");
out.println("<script type='text/javascript'>window.location='index.jsp';</script>");
}
if (!usuario.GetPrimeiroLogin(idUser, request.getRemoteHost()))
{
out.println("<script type='text/javascript'>window.location='dadosUsuario.jsp?mode=edit&id="+ idEmpresa +"'</script>");
}
else
{
out.println(mensagem);
out.println("<script type='text/javascript'>window.location='index.jsp';</script>");
}
Eu debuguei, e se o usuário ainda não efetuou o primeiro login, ele cai nesse if:
if(!usuario.GetPrimeiroLogin(idUser, request.getRemoteHost()))
{
mensagem = usuario.UpdateUsuarioPassword(idUser, chaSenha, request.getRemoteHost());
}
Acredito porque ele esteja entendendo que é o usuário quem está logando e não o adm.
Vale ressaltar que não foi eu quem escreveu esse código, por isso a dificuldade de entender o erro!
Podem me ajudar? obrigado desde já. att!