Bom dia,
Gostaria da ajuda dos colegas, estou com um form onde exibo dados do usuário, quando clico no botão localizar eu pesquiso um usuario em outro fom e quando seleciono o mesmo quero que os dados venham pro primeiro form.
Isso está funcionando mas pela metade, apenas alguns campos vem e outros não, já coloquei uma mensagem no system e vejo que todos os atributos estão dentro do objeto, mas não sei porque alguns não aparecem na tela.
Se alguém puder me ajudar, fico grato
form_usuario<ui:composition
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui"
template="/templates/template.xhtml">
<ui:define name="title">#{msg.tituloUsuario}</ui:define>
<ui:define name="tituloConteudo">#{msg.tituloUsuario}</ui:define>
<ui:define name="content">
<f:view>
<h:form id="formGeral">
<p:panel header="Novo Usuário" style="width:80%; margin: 5% 10%;" >
<h:panelGrid id="painelGrid" columns="5" cellpadding="10" >
<p:commandButton id="btnNovo" action="#{usuarioMB.novo()}" value="Novo"
disabled="#{!usuarioMB.novo}" update="formGeral" />
<p:commandButton id="btnLocalizar" value="Localizar"
oncomplete="localizar.show()" update="formDialog" cellpadding="5"/>
<p:commandButton id="btnSalvar" value="Salvar"
action="#{usuarioMB.salvar}" update="formGeral"/>
<p:commandButton id="btnExcluir" value="Excluir" action="#{usuarioMB.remover()}"
disabled="#{!usuarioMB.novo}" update="formGeral" cellpadding="5"/>
<p:commandButton id="btnCancelar" value="Cancelar" action="#{usuarioMB.novo()}"
update="formGeral" cellpadding="5"/>
</h:panelGrid>
<h:form id="formCadastro">
<h:panelGrid columns="4" cellpadding="5" >
<h:outputText value="Nome: *" />
<p:inputText id="Nome" value="#{usuarioMB.usuario.nom_usuario}"
required="true" label="Nome">
<p:focus />
</p:inputText>
<h:outputText value="Usuário *" />
<p:inputText id="Usuario" value="#{usuarioMB.usuario.usu_apelido}"
required="true" requeridMessage="Informe seu nome de Usuário" label="Usuario">
<p:focus />
</p:inputText>
<h:outputText value="Senha *" />
<p:password value="#{usuarioMB.usuario.sen_usuario}" id="Senha" required="true" label="Senha"
promptLabel="Segurança" weakLabel="Fraca"
goodLabel="Média" strongLabel="Forte" />
<h:outputText value="Confirma Senha *"/>
<p:password value="#{usuarioMB.usuario.sen_usuario}" id="Confirma_Senha" label="Confirma Senha" required="true" feedback="false"/>
<h:outputText value="CPF:" />
<p:inputMask id="Cpf" value="#{usuarioMB.usuario.cpf_usuario}" required="false" label="Cpf" mask="999-999-999-99" />
<h:outputText value="RG:" />
<p:inputText immediate="true" id="Rg" value="#{usuarioMB.usuario.reg_usuario}" required="false"/>
<h:outputText value="Email: *" />
<p:inputText id="Email" value="#{usuarioMB.usuario.ema_usuario}" label="Email" required="true"/>
<h:outputText value="Situação: *" />
<h:selectOneRadio id="situacaoid" required="true" value="#{usuarioMB.usuario.sit_usuario}" >
<f:selectItem itemValue="S" itemLabel="Ativo"/>
<f:selectItem itemValue="N" itemLabel="Inativo"/>
</h:selectOneRadio>
</h:panelGrid>
</h:form>
<p:messages />
</p:panel>
</h:form>
</f:view>
<!-- FORM PESQUISA -->
<p:dialog id="dialog" header="Localizar Usuário:" widgetVar="localizar" modal="true" immediate="true"
width="800" height="400" resizable="false" onCloseUpdate="formGeral" >
<h:form id="formDialog">
<p:dataTable id="tbUsuario" value="#{usuarioMB.listaUsuarios}"
var="usuario" border="1" cellspacing="0">
<p:column>
<f:facet name="header">
<h:outputText value="Código" />
</f:facet>
<h:outputText value="#{usuario.cod_usuario}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{usuario.nom_usuario}" />
</p:column>
<p:column style="width:50px">
<p:commandButton id="editar" action="#{usuarioMB.editar(usuario)}"
oncomplete="localizar.hide()" image="ui-icon ui-icon-pencil" style="width:28px;height:28px" title="Edit"/>
</p:column>
</p:dataTable>
</h:form>
</p:dialog>
<!-- FORM PESQUISA -->
</ui:define>
</ui:composition>
package managedBean;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.el.ELContext;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;
import model.Usuario;
import msg.MensagemFace;
import service.Session;
@ManagedBean(name = "usuarioMB")
@ViewScoped
public class UsuarioMB implements Serializable {
private static final long serialVersionUID = -7559464920709091693L;
private Usuario usuario;
private List<Usuario> listaUsuarios = new ArrayList<Usuario>();
private boolean novo;
@PostConstruct
public void create() {
novo();
alimentaLista();
novo = false;
}
public void novo()
{
usuario = new Usuario();
usuario.setSit_usuario("S");
novo = false;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public void remover()
{
setUsuario(getEm().getReference(Usuario.class, getUsuario().getCod_usuario()));
getEm().remove(getUsuario());
MensagemFace.showMessage("usuarioRemovido", getUsuario().getNom_usuario());
novo();
alimentaLista();
}
public void editar(Usuario usuario) {
setUsuario(usuario);
alimentaLista();
novo = true;
}
public void salvar()
{
System.out.println("SALVAR");
if (usuario.getCod_usuario() != null)
{
//alteracao
usuario.setCod_usuario_alteracao(Session.getUsuarioLogado().getCod_usuario());
usuario.setDat_alteracao(new Date());
getEm().merge(getUsuario());
System.out.println("alterou");
} else {
//inserção
usuario.setCod_usuario_cadastro(Session.getUsuarioLogado().getCod_usuario());
usuario.setDat_cadastro(new Date());
getEm().persist(getUsuario());
System.out.println("salvou");
}
getEm().flush();
alimentaLista();
novo = true;
MensagemFace.showMessage("usuarioSalvo", getUsuario().getNom_usuario());
System.out.println("mostrou msg");
}
@SuppressWarnings("unchecked")
public void alimentaLista()
{
setListaUsuarios(getEm().createQuery("from Usuario").getResultList());
}
public String entrar()
{
if ( autenticar())
{
Session.setUsuarioLogado(getUsuario());//joga usuario na session
MensagemFace.showMessage("loginSucess", getUsuario().getCod_usuario());
return "privado/principal.jsf?faces-redirect=true";
} else
{
MensagemFace.showMessage("loginFalha", getUsuario().getCod_usuario());
return "/login.jsf";
}
}
public boolean autenticar(){
javax.persistence.Query q = getEm().createQuery("from Usuario where ema_usuario = :email and sen_usuario = :senha");
q.setParameter("email", usuario.getEma_usuario());
q.setParameter("senha", usuario.getSen_usuario());
if(q.getResultList().isEmpty())
{
return false;
}else{
return true;
}
}
public boolean isNovo() {
return novo;
}
public void setNovo(boolean novo) {
this.novo = novo;
}
public String sair()
{
return Session.logoff();
}
public EntityManager getEm() {
ELContext el = FacesContext.getCurrentInstance().getELContext();
return (EntityManager) FacesContext.getCurrentInstance()
.getApplication().getELResolver()
.getValue(el, null, "entityManager");
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((listaUsuarios == null) ? 0 : listaUsuarios.hashCode());
result = prime * result + (novo ? 1231 : 1237);
result = prime * result + ((usuario == null) ? 0 : usuario.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
UsuarioMB other = (UsuarioMB) obj;
if (listaUsuarios == null) {
if (other.listaUsuarios != null)
return false;
} else if (!listaUsuarios.equals(other.listaUsuarios))
return false;
if (novo != other.novo)
return false;
if (usuario == null) {
if (other.usuario != null)
return false;
} else if (!usuario.equals(other.usuario))
return false;
return true;
}
public void setListaUsuarios(List<Usuario> listaUsuarios) {
this.listaUsuarios = listaUsuarios;
}
public List<Usuario> getListaUsuarios() {
return listaUsuarios;
}
}