Update de usuário

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!

ngm?