Bom dia pessoal, estou com um pequeno problema. Tenho uma pagina que cadastra convites, logo abaixo deste form tenho um dataTable que lista
estes convites e exibe botões de excluir e alterar.
Quase tudo funciona normalmente, cadastra, edita e exclui.
1_ O problema é que ao editar e excluir não consigo atualizar a tela sendo necessário atualizar o browser com F5.
2_ Outro problema é que se eu faço um cadastro de convites ele atualiza o form, porém se eu atualizar o browser ele insere novamente
os dados no banco mesmo sem dados no formulário.
Segue a pagina
[code]
<p:tabView id=“aba” >
<p:tab id="Aba_Convite" title="Convite" >
<br />
<p:fieldset id="CadastroConvite" toggleable="true" legend="Novo Convite" style="font-family: 'Arial';">
<!-- FORMULÁRIO PRINCIPAL -->
<h:form id="formPrincipal" >
<p:growl id="id" showDetail="true" life="4000" />
<br />
<h:panelGrid columns="3" cellpadding="80" >
<h:outputText value="Funcionario: " style="font-family: 'Verdana'; font-size: 12px" />
<p:selectOneMenu id="funcionario" required="true"
requiredMessage="Campo Funcionário é obrigatrório"
value="#{conviteBean.convite.idAdministrador}"
style="font-family: 'Verdana'; font-size: 12px">
<f:selectItem itemValue="0"
itemLabel="Selecione..." />
<f:selectItems value="#{funcionarioBean.listaFuncionario}"
var="v"
itemValue="#{v.idFuncionario}"
itemLabel="#{v.nome} #{v.sobreNome}" />
</p:selectOneMenu>
<br /><br />
<h:outputText value="Atividade:" style="font-family: 'Verdana'; font-size: 12px" />
<p:selectOneMenu id="atividade1" required="true"
requiredMessage="Campo Atividade é obrigatrório"
value="#{conviteBean.convite.idAtividade}"
style="font-family: 'Verdana'; font-size: 12px">
<f:selectItem itemValue="0"
itemLabel="Selecione..."/>
<f:selectItems value="#{atividadeBean.listaAtividade}"
var="v"
itemValue="#{v.idAtividade}"
itemLabel="#{v.titulo}"/>
</p:selectOneMenu>
<br /><br />
<h:outputText value="Enviar dia:" style="font-family: 'Verdana'; font-size: 12px" />
<p:calendar id="dt"
value="#{conviteBean.convite.data}"
style="font-family: 'Verdana'; font-size: 12px"/>
<br /><br />
<h:outputText value="Obsevaçao:" style="font-family: 'Verdana'; font-size: 12px" />
<p:inputTextarea rows="5" cols="27"
autoResize="false"
value="#{conviteBean.convite.texto}"
style="font-family: 'Verdana'; font-size: 12px"/>
</h:panelGrid>
<br />
<p:commandButton id="btnO" style="font-family: 'Verdana'; font-size: 14px"
value="Convidar"
type="submit" actionListener="#{conviteBean.salvar(e)}"
ajax="false"
update="formPrincipal,id"/>
</h:form>
</p:fieldset>
<br />
<p:separator id="separator" />
<br />
<!-- LISTA OS CONVITES CADASTRADOS -->
<p:fieldset id="Convite" toggleable="true" legend="Lista de Convites" style="font-family: 'Arial';">
<br />
<h:form id="form">
<p:growl id="messages" showDetail="true"/>
<p:dataTable id="listConvite"
emptyMessage="Nenhum registro encontrado" var="f"
value="#{conviteBean.listaConvite}"
paginator="true" rows="3"
paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="3,10,50,100"
rendered="true">
<p:column headerText="Atividade" style="font-family: 'Verdana'; font-size: 12px" filterBy="#{f.idAtividade}">
<h:outputText value="#{f.idAtividade}" />
</p:column>
<p:column headerText="Convidade" style="font-family: 'Verdana'; font-size: 12px" filterBy="#{f.idAdministrador}">
<h:outputText value="#{f.idAdministrador}" />
</p:column>
<p:column headerText="Data do Convite" style="font-family: 'Verdana'; font-size: 12px">
<h:outputText value="#{f.data}">
<f:convertDateTime pattern="dd/MM/yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Observação" style="font-family: 'Verdana'; font-size: 12px">
<h:outputText value="#{f.texto}" />
</p:column>
<!-- Botão Editar -->
<p:column>
<p:commandButton id="btEditar"
icon="ui-icon-pencil"
title="Editar"
style="font-family: 'Verdana'; font-size: 13px"
oncomplete="editarConvite.show() ">
<f:setPropertyActionListener value="#{f}" target="#{conviteBean.conviteSelecionado}" />
</p:commandButton>
</p:column>
<!-- Botão Remover -->
<p:column>
<p:commandButton id="btRemover" icon="ui-icon-trash"
title="Remover"
style="font-family: 'Verdana'; font-size: 13px"
oncomplete="confirmaExclusao.show() ">
<f:setPropertyActionListener value="#{f}" target="#{conviteBean.conviteSelecionado}" />
</p:commandButton>
</p:column>
<!-- Botão visualizar -->
<p:column style="width:4%">
<p:commandButton id="selectButton"
oncomplete="carDialog.show()"
icon="ui-icon-search"
title="View"
style="font-family: 'Verdana'; font-size: 13px"
update="listConvite">
<f:setPropertyActionListener value="#{f}" target="#{conviteBean.conviteSelecionado}" />
</p:commandButton>
</p:column>
</p:dataTable>
<!-- DIALOG PARA EXIBIR DADOS -->
<p:dialog header="Detalhe do Convite" widgetVar="carDialog" resizable="false" id="carDlg"
showEffect="fade" hideEffect="explode" modal="true">
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputText value="Atividade: " style="font-family: 'Verdana'; font-size: 12px" />
<h:outputText value="#{conviteBean.conviteSelecionado.idAtividade}" />
<h:outputText value="Convidado: " style="font-family: 'Verdana'; font-size: 12px" />
<h:outputText value="#{conviteBean.conviteSelecionado.idAdministrador}" />
<h:outputText value="Data: " style="font-family: 'Verdana'; font-size: 12px" />
<h:outputText value="#{conviteBean.conviteSelecionado.data}" >
<f:convertDateTime pattern="dd/MM/yyyy"/>
</h:outputText>
<h:outputText value="Observação: " style="font-family: 'Verdana'; font-size: 12px" />
<h:outputText value="#{conviteBean.conviteSelecionado.texto}"/>
</h:panelGrid>
</p:dialog>
</h:form>
<!-- DIALOG PARA EDITAÇÃO DE DADOS -->
<p:dialog id="dialogEdit" header="Editar Convite" widgetVar="editarConvite" resizable="false" modal="true" showEffect="slide" width="500">
<h:form id="formEdit" prependId="false">
<p:growl id="idEdit" showDetail="true" life="4000" />
<br />
<h:panelGrid columns="3" cellpadding="80">
<h:outputText value="Funcionario: " style="font-family: 'Verdana'; font-size: 12px" />
<p:selectOneMenu id="funcionarioEdit" required="true"
requiredMessage="Campo Funcionário é obrigatrório"
value="#{conviteBean.convite.idAdministrador}"
style="font-family: 'Verdana'; font-size: 12px">
<f:selectItem itemValue="0"
itemLabel="Selecione..."/>
<f:selectItems value="#{funcionarioBean.listaFuncionario}"
var="fu"
itemValue="#{fu.idFuncionario}"
itemLabel="#{fu.nome} #{fu.sobreNome}" />
</p:selectOneMenu>
<br /><br />
<h:outputText value="Atividade:" style="font-family: 'Verdana'; font-size: 12px" />
<p:selectOneMenu id="atividadeEdit" required="true"
requiredMessage="Campo Atividade é obrigatrório"
value="#{conviteBean.convite.idAtividade}"
style="font-family: 'Verdana'; font-size: 12px">
<f:selectItem itemValue="0"
itemLabel="Selecione..."/>
<f:selectItems value="#{atividadeBean.listaAtividade}"
var="at"
itemValue="#{at.idAtividade}"
itemLabel="#{at.titulo}"/>
</p:selectOneMenu>
<br /><br />
<h:outputText value="Enviar dia:" style="font-family: 'Verdana'; font-size: 12px" />
<p:calendar id="dtEdit" value="#{conviteBean.conviteSelecionado.data}"
style="font-family: 'Verdana'; font-size: 12px"/>
<br /><br />
<h:outputText value="Obsevaçao:" style="font-family: 'Verdana'; font-size: 12px" />
<p:inputTextarea rows="5" cols="27"
autoResize="false"
style="font-family: 'Verdana'; font-size: 12px"
value="#{conviteBean.conviteSelecionado.texto}"/>
</h:panelGrid>
<br />
<br />
<p:commandButton id="btnEdit" style="font-family: 'Verdana'; font-size: 14px"
value="Editar"
type="submit" actionListener="#{conviteBean.editar(e)}"
update="formEdit,idEdit"
ajax="false" />
</h:form>
</p:dialog>
<!-- DIALOG PARA EXCLUSÃO DE CONVITES -->
<h:form id="formExcluirPartido">
<p:growl id="teste" showDetail="true" life="4000" ></p:growl>
<p:confirmDialog id="confirmaExclusao" appendToBody="true"
message="Deseja realmente excluir o convite selecionado?"
header="Excluir Convite" severity="alert"
widgetVar="confirmaExclusao">
<p:commandButton id="confirm" value="Sim, desejo"
actionListener="#{conviteBean.excluir(e)}"
oncomplete="confirmaExclusao.hide();"
update="teste" />
<p:commandButton id="decline" value="Não, me enganei"
onclick="confirmaExclusao.hide()" type="button" oncomplete="#{conviteBean.listaConvite}"/>
</p:confirmDialog>
</h:form>
</p:fieldset>
</p:tab>
</p:tabView>[/code]