Vision layer is not updating

0

I want to get my user to check the Pause to change his status from Available to Rest. In the bank it arrows the status but in the Vision it continues as available even giving me refresh.

I've tried countless ways but I can not. I realized that my edit, delete or generate new user works perfectly, it updates in the bank and in the view tbm. Can anyone help me?

I'm using Primefaces, JSF, HIbernate, OminiFaces,

------------------------------------- XHTML --------- ------------------------------

<?xml version="1.0" encoding="UTF-8" ?> Tela de Pausas
<h:body>
<p:growl id=“mensagem” />

<p:graphicImage library="imagens" name="stefanini.jpg" width="180"
    styleClass="imagemCentralizada" />




<h:form id="formListagem">

    <!-- Barra de menu do usuario -->
    <p:menubar>
        <p:submenu label="#{autenticacaoBean.usuarioLogado.nome}">

            <p:menuitem value="Registrar pausa"
                oncomplete="PF('dlgPausa').show();  " icon="ui-icon-pause"
                update=":formPausa:painelEmPausa">

            </p:menuitem>

            <p:menuitem value="Registrar colaborador"
                oncomplete="PF('dlgCadastro').show();"
                actionListener="#{usuarioBean.novo}"
                update=":formRegCadastro:painelCadastro " icon="ui-icon-new"
                rendered="#{autenticacaoBean.temPermissoes(['c014587'])}" />

            <p:menuitem value="Sobre" icon="ui-icon-info" />
        </p:submenu>

        <f:facet name="options">
            <p:commandButton value="Sair" icon="ui-icon-extlink"
                actionListener="#{autenticacaoBean.logout}" />
        </f:facet>
    </p:menubar>
    <!-- Barra de menu do usuario -->

    <!-- Tabela de usuarios -->
    <p:dataTable id="tabela" value="#{usuarioBean.usuarios}" var="usuario">
        <p:column headerText="Usuário" sortBy="#{usuario.nome}"
            filterBy="#{usuario.nome}">
            <h:outputText value="#{usuario.nome}" />
        </p:column>

        <p:column headerText="Status" sortBy="#{usuario.status}">
            <h:outputText value="#{usuario.flagStatus}" />
        </p:column>

        <p:column headerText="Opções">
            <p:commandButton icon="ui-icon-trash"
                rendered="#{autenticacaoBean.temPermissoes(['c014587'])}"
                actionListener="#{usuarioBean.excluir}"
                update=":mensagem :formListagem:tabela">
                <p:confirm header="Confirmação" message="Deseja excluir o usuario"
                    icon="ui-icon-alert" />
                <f:attribute name="usuarioSelecionado" value="#{usuario}" />
            </p:commandButton>

            <p:commandButton icon="ui-icon-pencil"
                rendered="#{autenticacaoBean.temPermissoes(['c014587'])}"
                actionListener="#{usuarioBean.editarCadastro}"
                update=":formCadastro:painel"
                oncomplete="PF('dlgEditarCadastro').show();">
                <f:attribute name="usuarioSelecionado" value="#{usuario}" />
                <f:actionListener
                    type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
            </p:commandButton>
        </p:column>

    </p:dataTable>
    <!-- Confirmação de exclusão de usuário -->
    <p:confirmDialog global="true">
        <p:commandButton value="Sim" type="button"
            styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
        <p:commandButton value="Não" type="button"
            styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
    </p:confirmDialog>
</h:form>
<!-- Tabela de usuarios -->

<!-- Dialogo de registrar Pausa -->
<p:dialog header="Registrar pausa" widgetVar="dlgPausa"
    draggable="false" resizable="false" modal="true">
    <h:form id="formRegistrarPausa">
        <h:panelGrid columns="2" id="painelPausa">

            <p:selectOneMenu id="pausa" value="#{selectOneMenuView.pausa}">
                <f:selectItem itemValue="Pausa 10" itemLabel="Pausa 10" />
                <f:selectItem itemValue="Intervalo" itemLabel="Intervalo" />
            </p:selectOneMenu>
        </h:panelGrid>
        <h:panelGrid>
            <p:commandButton icon="ui-icon-check" value="ok"
                oncomplete="PF('dlgEmPausa').show(); PF('dlgPausa').hide();"
                actionListener="#{autenticacaoBean.pausa}"
                update=":formListagem:tabela :mensagem"
                onclick="PF('timer').start()" />
        </h:panelGrid>
    </h:form>
</p:dialog>

<!-- em pausa -->
<p:dialog header="Em pausa" widgetVar="dlgEmPausa" draggable="false"
    showEffect="bounce" resizable="false" modal="true">

    <h:form id="formPausa">
        <h:panelGrid cellpadding="20px" columns="2" id="painelEmPausa">
            <p:outputLabel value="Tempo de pausa: " />
            <pe:timer widgetVar="timer" timeout="10000" forward="true"
                format="HH:mm:ss" listener="#{jsApiTimerController.listener}"
                singleRun="false" />
            <p:commandButton value="Cancelar"
                oncomplete="PF('dlgEmPausa').hide();"
                actionListener="#{autenticacaoBean.cancelarPausa}"
                update=":formListagem:tabela :formPausa:painelEmPausa" onclick="PF('timer').stop(true)" />

        </h:panelGrid>
    </h:form>
</p:dialog>
<!-- Dialogo de registrar Pausa -->

<!-- Dialogo de editar cadastro -->
<p:dialog header="Editar cadastro" widgetVar="dlgEditarCadastro"
    draggable="false" resizable="false" modal="true">

    <h:form id="formCadastro">
        <h:panelGrid id="painel">
            <p:outputLabel value="Nome: " />
            <p:inputText value="#{usuarioBean.usuario.nome}" size="30"
                maxlength="55" required="true"
                requiredMessage="Campo nome obrigatório" />


            <p:outputLabel value="Senha: " />
            <p:password value="#{usuarioBean.usuario.senhaCriptografada}"
                size="15" maxlength="12" required="true"
                requiredMessage="Campo senha obrigatório" />
        </h:panelGrid>

        <h:panelGrid>
            <p:commandButton value="Salvar"
                actionListener="#{usuarioBean.salvar}"
                update=":mensagem :formCadastro:painel :formListagem:tabela"
                oncomplete="PF('dlgEditarCadastro').hide();" />
        </h:panelGrid>

    </h:form>
</p:dialog>
<!-- Dialogo de editar cadastro -->

<!-- Tela de novo cadastro -->
<p:dialog header="Cadastro de Usuário" widgetVar="dlgCadastro"
    draggable="false" resizable="false" modal="true">
    <h:form id="formRegCadastro">
        <h:panelGrid id="painelCadastro">

            <p:inputText value="#{usuarioBean.usuario.nome}" placeholder="Nome"
                size="30" maxlength="55" required="true"
                requiredMessage="Campo nome obrigatório" />

            <p:inputText value="#{usuarioBean.usuario.matricula}"
                placeholder="Matricula" size="15" maxlength="7" required="true"
                requiredMessage="Campo matricula obrigatório" />

            <p:password value="#{usuarioBean.usuario.senhaCriptografada}"
                placeholder="Senha" size="15" maxlength="12" required="true"
                requiredMessage="Campo senha obrigatório" />
        </h:panelGrid>

        <h:panelGrid columns="2">
            <p:commandButton value="Cadastrar"
                actionListener="#{usuarioBean.salvar}"
                update=":mensagem :formRegCadastro:painelCadastro :formListagem:tabela" />

            <p:commandButton value="Cancelar"
                oncomplete="PF('dlgCadastro').hide();" />
        </h:panelGrid>
    </h:form>
</p:dialog>
<!-- Tela de novo cadastro -->
</h:body>

-------------------------- UserBean -------------------- --------------------------

package br.stefanini.projetopausa.bean;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;

import org.apache.shiro.crypto.hash.SimpleHash;
import org.omnifaces.util.Messages;

import br.stefanini.projetopausa.dao.UsuarioDAO;
import br.stefanini.projetopausa.domain.Usuario;

@SuppressWarnings(“serial”)
@ManagedBean
@SessionScoped
public class UsuarioBean implements Serializable {

private Usuario usuario;
private List<Usuario> usuarios;
//private static int cont = 0;

public Usuario getUsuario() {
    return usuario;
}

public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
}

public List<Usuario> getUsuarios() {
    return usuarios;
}

public void setUsuarios(List<Usuario> usuarios) {
    this.usuarios = usuarios;
}

@PostConstruct
public void listar() {
    try {
        UsuarioDAO usuarioDAO = new UsuarioDAO();
        usuarios = usuarioDAO.listar();

    } catch (RuntimeException erro) {
        Messages.addGlobalError("Ocorreu um erro ao tentar listar os usuarios");
        erro.printStackTrace();
    }

}

public void novo() {
    try {
        usuario = new Usuario();

        UsuarioDAO usuarioDAO = new UsuarioDAO();
        usuarios = usuarioDAO.listar();
    } catch (RuntimeException erro) {
        Messages.addFlashGlobalError("Ocorreu um erro ao gerar um novo usuário");
        erro.printStackTrace();
    }
}

public void salvar() {
    try {
        UsuarioDAO usuarioDAO = new UsuarioDAO();
        SimpleHash hash = new SimpleHash("md5", usuario.getSenhaCriptografada());
        usuario.setSenha(hash.toHex());
        usuarioDAO.merge(usuario);

        usuario = new Usuario();

        usuarios = usuarioDAO.listar();

        Messages.addGlobalInfo("Usuario salvo com sucesso");
    } catch (RuntimeException erro) {
        Messages.addFlashGlobalError("Ocorreu um erro ao tentar salvar um novo usuario");
        erro.printStackTrace();
    }
}

public void editarCadastro(ActionEvent evento) {
        usuario = (Usuario) evento.getComponent().getAttributes().get("usuarioSelecionado");
}

public void excluir(ActionEvent evento) {
    try {
        usuario = (Usuario) evento.getComponent().getAttributes().get("usuarioSelecionado");

        UsuarioDAO usuarioDAO = new UsuarioDAO();
        usuarioDAO.excluir(usuario);
        usuarios = usuarioDAO.listar();

        Messages.addGlobalInfo("Usuario removida com sucesso");
    } catch (RuntimeException erro) {
        Messages.addFlashGlobalError("Ocorreu um erro ao tentar remover o usuário");
        erro.printStackTrace();
    }
}

public void teste() {
    UsuarioDAO usuarioDAO = new UsuarioDAO();
    usuarios = usuarioDAO.listar();
}
//  public void pausa() {
//  UsuarioDAO usuarioDAO = new UsuarioDAO();
//  if (cont > 1) {
//  Messages.addGlobalError(“há duas pessoas em pausa, gentileza aguarde elas voltarem”);
//  return;
//  }
//  setCont(cont + 1);
//  usuarioLogado.setStatus(true);
//  usuarioDAO.editar(usuarioLogado);
//  usuarios = usuarioDAO.listar();
//  
//  }
}

----------------------------------Bean Authentication ------------ -----------

package br.stefanini.projetopausa.bean;

import java.io.IOException;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import org.omnifaces.util.Faces;
import org.omnifaces.util.Messages;

import br.stefanini.projetopausa.dao.UsuarioDAO;
import br.stefanini.projetopausa.domain.Usuario;

@ManagedBean
@SessionScoped
public class AutenticacaoBean {
private Usuario usuario;
protected Usuario usuarioLogado;
private static int cont = 0;
// private List usuarios;

//  public List getUsuarios() {
//  return usuarios;
//  }

//  public void setUsuarios(List usuarios) {
//  this.usuarios = usuarios;
//  }

public Usuario getUsuario() {
    return usuario;
}

public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
}

public Usuario getUsuarioLogado() {
    return usuarioLogado;
}

public void setUsuarioLogado(Usuario usuarioLogado) {
    this.usuarioLogado = usuarioLogado;
}

public int getCont() {
    return cont;
}

public void setCont(int cont) {
    AutenticacaoBean.cont = cont;
}

@PostConstruct
public void novo() {
    usuario = new Usuario();
}

public void cancelarPausa() {
    try {
        System.out.println("variavel contadora: " + cont);
        setCont(cont - 1);
        System.out.println("variavel contadora: " + cont);
        UsuarioDAO usuarioDAO = new UsuarioDAO();
        usuarioLogado.setStatus(false);
        System.out.println("status do usuario: " + usuarioLogado.isStatus());
        usuarioDAO.editar(usuarioLogado);
    } catch (RuntimeException erro) {
        Messages.addFlashGlobalError("Ocorreu um erro ao tentar registrar a pausa");
        erro.printStackTrace();
    }

}

public void pausa() {
    if (cont > 1) {
        Messages.addGlobalError("há duas pessoas em pausa, gentileza aguarde elas voltarem");
        return;
    }
    UsuarioDAO usuarioDAO = new UsuarioDAO();
    setCont(cont + 1);
    usuarioLogado.setStatus(true);
    usuarioDAO.editar(usuarioLogado);
}

public void autenticar() {
    try {
        UsuarioDAO usuarioDAO = new UsuarioDAO();
        usuarioLogado = usuarioDAO.autenticar(usuario.getMatricula(), usuario.getSenha());
        System.out.println(usuarioLogado);
        if (usuarioLogado == null) {
            Messages.addGlobalError("Usuário ou senha incorreto");
            return;
        }
        Faces.redirect("./pages/telaSecundariaPausa.xhtml");
    } catch (IOException erro) {
        erro.printStackTrace();
        Messages.addGlobalError(erro.getMessage());
    }
}

public boolean temPermissoes(List<String> permissoes) {
    for (String permissao : permissoes) {
        if (usuarioLogado.getMatricula().equals(permissao)) {
            return true;
        }
    }
    return false;
}

public String logout() {
    HttpSession sessao = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
    sessao.invalidate();
    return "./pages/telaPrincipalLogin.xhtml";
}
//  public void logout2() { perguntar pq não funcionou, pois ao clicar em voltar ele volta e mostra a tela e da erro.
//  try {
//  HttpSession sessao = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
//  sessao.invalidate();
//  System.out.println(“deu certo”);
//  Faces.redirect("./pages/telaPrincipalLogin.xhtml");
//  } catch (IOException e) {
//  System.out.println(“deu errado”);
//  e.printStackTrace();
//  }
//  }

public void contador() {
    usuarioLogado.setStatus(true/* em pausa */);
    System.out.println(usuarioLogado.isStatus());
    int cont = 10;
    for (int i = 0; i < cont; i++) {
        System.out.println(i);
    }
    usuarioLogado.setStatus(false/* disponivel */);
    System.out.println(usuarioLogado.isStatus());
}
}

    
asked by anonymous 06.10.2018 / 20:30

0 answers