Olá estou com um problema quando vou salvar o form preciso clicar duas vezes no botão salvar,estou utilizando o ajax.
<p:panel header="Cadastro de Usuarios" >
<p:panel>
<p:commandButton id="btnNovo" value="Novo" disabled="#{usuarioMB.statusNovo}" icon="ui-icon-document" action="#{usuarioMB.novo()}" styleClass="buttonCadastro" style="width: 125px" update="@form" />
<p:commandButton id="btnPesquisar" value="Pesquisar" disabled="#{usuarioMB.statusPesquisar}" icon="ui-icon-search" action="#{usuarioMB.pesquisar()}" styleClass="buttonNormal" style="width: 125px" onclick="PF('dialogUsuario').show();" type="button" />
<p:commandButton id="btnSalvar" value="Salvar" disabled="#{usuarioMB.statusSalvar}" icon="ui-icon-disk" action="#{usuarioMB.salvar()}" styleClass="buttonNormal" style="width: 125px" update="@form" />
<p:commandButton id="btnCancelar" value="Cancelar" disabled="#{usuarioMB.statusCancelar}" icon="ui-icon-cancel" action="#{usuarioMB.cancelar()}" styleClass="buttonNormal" style="width: 125px" update ="@form" />
</p:panel>
<p:panel id="cadUsuario">
<div class="row">
<div class="col-lg-4" style="width: 28% ">
<p:outputLabel for="dbCPF" value="CPF" styleClass="textNormal"/>
<p:inputMask id="dbCPF" value="#{usuarioMB.usuario.CPF}" mask="999.999.999-99" style="width: 80%" readonly="#{usuarioMB.somenteLeitura}" styleClass="inputNormalSemQuebra">
<p:ajax event="blur" listener="#{usuarioMB.validaCPF}" update="@form"/>
</p:inputMask>
</div>
<div class="col-lg-4" style="width: 22%; margin-left: 0">
<p:outputLabel for="dbRg" value="RG" styleClass="textNormal"/>
<p:inputText id="dbRg" value="#{usuarioMB.usuario.RG}" styleClass="inputNormal" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}" >
<p:ajax event="change" update="btnSalvar,btnCancelar"/>
</p:inputText>
</div>
<div class="col-lg-4" style="width: 46%; margin-left: 0%">
<p:outputLabel for="dbNome" value="Nome" styleClass="textNormal"/>
<p:inputText id="dbNome" value="#{usuarioMB.usuario.nome}" styleClass="inputNormal" maxlength="50" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}" >
<p:ajax event="change" update="btnSalvar,btnCancelar"/>
</p:inputText>
</div>
</div>
<div class="row" style="margin-top: 1%">
<div class="col-lg-2" style="width: 23%">
<p:outputLabel for="dbNascimento" value="Data de Nascimento" styleClass="textNormal"/>
<p:calendar id="dbNascimento" locale="pt_BR" mask="true" value="#{usuarioMB.usuario.dataNasc}" pattern="dd/MM/yyyy" showOn="false" styleClass="myCalendar" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}" >
<p:ajax event="change" update="btnSalvar,btnCancelar"/>
</p:calendar>
</div>
<div class="col-lg-4" style="width: 22%; margin-left: 5%">
<p:outputLabel id="opEmail" for="dbEmail" value="Email" styleClass="textNormal"/>
<p:inputText id="dbEmail" maxlength="50" styleClass="inputNormal" value="#{usuarioMB.usuario.email}" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}">
<p:ajax event="change" update="btnSalvar,btnCancelar"/>
<p:ajax event="blur" listener="#{usuarioMB.validarEmail()}" process="@form"/>
</p:inputText>
</div>
<div class="col-lg-4" style="width: 23%">
<p:outputLabel for="dbEmailVerifica" value="Confirmar Email" styleClass="textNormal"/>
<p:inputText id="dbEmailVerifica" maxlength="50" styleClass="inputNormal" value="#{usuarioMB.confirmaEmail}" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}" >
<p:ajax event="change" update="btnSalvar,btnCancelar"/>
<p:ajax event="blur" listener="#{usuarioMB.emailEquivalente()}" update="dbEmailVerifica" process="@form"/>
</p:inputText>
</div>
<div class="col-lg-1" style="width: 23%">
<p:outputLabel for="dbUsuario" value="Usuário" styleClass="textNormal"/>
<p:inputText id="dbUsuario" maxlength="20" value="#{usuarioMB.usuario.userName}" styleClass="inputNormal" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}">
<p:ajax event="change" update="btnSalvar,btnCancelar"/>
<p:ajax event="blur" listener="#{usuarioMB.validaLogin()}" update="dbUsuario" process="@form"/>
</p:inputText>
</div>
</div>
<div class="row" style="margin-top: 1%">
<div class="col-lg-4" style="width: 23%">
<p:outputLabel for="dbSenha" value="Senha" styleClass="textNormal"/>
<p:password id="dbSenha" maxlength="20" value="#{usuarioMB.usuario.senha}" styleClass="inputNormal" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}">
<p:ajax event="change" update="btnSalvar,btnCancelar"/>
</p:password>
</div>
<div class="col-lg-4" style="width: 22%; margin-left: 5%">
<p:outputLabel for="dbSenhaConfirma" value="Confirmar Senha" styleClass="textNormal"/>
<p:password id="dbSenhaConfirma" value="#{usuarioMB.confirmaSenha}" maxlength="20" styleClass="inputNormal" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}">
<p:ajax event="change" update="btnSalvar,btnCancelar"/>
<p:ajax event="blur" listener="#{usuarioMB.senhaEquivalente()}" process="@form"/>
</p:password>
</div>
<div class="col-lg-4" style="width: 23% ">
<p:outputLabel value="Departamento" styleClass="textNormal" />
<p:selectOneMenu rendered="true" effect="fold" value="#{usuarioMB.usuario.centroCusto}">
<f:selectItems value="#{usuarioMB.centrosCusto}" var="centroCusto" itemLabel="#{centroCusto.descricao}" itemValue="#{centroCusto.centroCusto}"/>
</p:selectOneMenu>
</div>
<div class="col-lg-4" style="width: 23% ">
<p:outputLabel value="Empresa" styleClass="textNormal"/>
<p:selectOneMenu rendered="true" value="#{usuarioMB.usuario.empresa}" >
<f:selectItems value="#{usuarioMB.empresas}" var="empresa" itemLabel="#{empresa.fantasia}" itemValue="#{empresa.codigo}"/>
</p:selectOneMenu>
</div>
</div>
<div class="row">
<div class="col-lg-4" style="width: 23% ">
<p:outputLabel value="Departamento Projetos" styleClass="textNormal" />
<p:selectOneMenu rendered="true" effect="fold" value="#{usuarioMB.usuario.departamentoProjetos.id}">
<f:selectItems value="#{usuarioMB.dpProjetos}" var="depaProj" itemLabel="#{depaProj.descricao}" itemValue="#{depaProj.id}"/>
</p:selectOneMenu>
</div>
<div class="col-lg-1" >
<p:outputLabel value="Ativo" styleClass="textNormal"/>
<p:selectOneMenu value="#{usuarioMB.usuario.habilitado}">
<f:selectItem itemLabel="Sim" itemValue="True"/>
<f:selectItem itemLabel="Não" itemValue="False"/>
</p:selectOneMenu>
</div>
<div class="col-lg-1" style="margin-top: 2.5%; width: 50%">
<p:commandButton rendered="#{usuarioMB.usuario.seq > 0}" onclick="PF('dialogPerfil').show()" value="Copiar Perfil"/>
</div>
</div>
</p:panel>
<p:panel rendered="#{usuarioMB.usuario.seq > 0}" id="pnlPermissao" header="Permissões" styleClass="textNormalSemQuebra">
<p:commandButton value="Adicionar" onclick="PF('dlgSistema').show();" />
<p:dataTable style="margin-top: 2%" id="dtPermissoes" widgetVar="dtPermissoes" value="#{usuarioMB.permissoes}" var="permissao" emptyMessage="Registros não encontrados.">
<p:column headerText="Sistema" sortBy="#{permissao.programa.sistema.descricao}" style="width: 15%">
<p:outputLabel value="#{permissao.programa.sistema.descricao}"/>
</p:column>
<p:column headerText="Programa" style="width: 15%">
<p:outputLabel value="#{permissao.programa.descricao}"/>
</p:column>
<p:column headerText="Acessa" style="width: 3%; text-align: center">
<p:selectBooleanCheckbox value="#{permissao.isAcessa}"/>
</p:column>
<p:column headerText="Deletar Permissão" width="40" style="text-align: center">
<p:commandButton action="#{usuarioMB.deletarPermissao(permissao.id)}" icon="ui-icon-close" update="@form" />
</p:column>
</p:dataTable>
</p:panel>
</p:panel>