Comprobación visual con botón de nif válido y/o duplicado (inputGroup)
This commit is contained in:
@@ -46,19 +46,21 @@
|
|||||||
<h:form id="frmRegisterUser" rendered="#{not RegisterUser.registered}">
|
<h:form id="frmRegisterUser" rendered="#{not RegisterUser.registered}">
|
||||||
<h:outputScript>
|
<h:outputScript>
|
||||||
function handleRequest(xhr, status, args) {
|
function handleRequest(xhr, status, args) {
|
||||||
/*
|
var nif = PF('nifButton');
|
||||||
if(args.specs) {
|
if ( args.NIFisDupe == false ) {
|
||||||
$('#panCentros').slideUp();
|
nif.jq.children(".ui-icon").removeClass("pi pi-times");
|
||||||
$('#panEspecialidades').slideDown();
|
nif.jq.removeClass('red-button');
|
||||||
}
|
|
||||||
else if (args.caps) {
|
nif.jq.children(".ui-icon").addClass("pi pi-check");
|
||||||
$('#panEspecialidades').slideUp();
|
nif.jq.addClass('green-button');
|
||||||
$('#panCentros').slideDown();
|
}
|
||||||
} else if (args.pats) {
|
else if (nif.jq.hasClass('red-button') == false) {
|
||||||
$('#panCentros').slideUp();
|
nif.jq.children(".ui-icon").removeClass("pi pi-check");
|
||||||
$('#panEspecialidades').slideUp();
|
nif.jq.removeClass('green-button');
|
||||||
}
|
|
||||||
*/
|
nif.jq.children(".ui-icon").addClass("pi pi-times");
|
||||||
|
nif.jq.addClass('red-button');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</h:outputScript>
|
</h:outputScript>
|
||||||
<p:messages id="mesgs" globalOnly="true" showDetail="true" closable="true" autoupdate="true" />
|
<p:messages id="mesgs" globalOnly="true" showDetail="true" closable="true" autoupdate="true" />
|
||||||
@@ -70,7 +72,7 @@
|
|||||||
<div class="ui-g-6 ui-md-6">
|
<div class="ui-g-6 ui-md-6">
|
||||||
<p:selectOneButton id="selUsertype" value="#{RegisterUser.userType}" required="true" unselectable="false" requiredMessage="Debe especificar un tipo de usuario">
|
<p:selectOneButton id="selUsertype" value="#{RegisterUser.userType}" required="true" unselectable="false" requiredMessage="Debe especificar un tipo de usuario">
|
||||||
<f:selectItems value="#{RegisterUser.availableUserTypes}" var="item" itemLabel="#{item.userTypename}" />
|
<f:selectItems value="#{RegisterUser.availableUserTypes}" var="item" itemLabel="#{item.userTypename}" />
|
||||||
<p:ajax listener="#{RegisterUser.onUserTypeChange}" update="panCombos" oncomplete="handleRequest(xhr, status, args)" />
|
<p:ajax listener="#{RegisterUser.onUserTypeChange}" update="panCombos" />
|
||||||
</p:selectOneButton>
|
</p:selectOneButton>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-4 ui-md-4" />
|
<div class="ui-g-4 ui-md-4" />
|
||||||
@@ -83,9 +85,12 @@
|
|||||||
<p:outputLabel value="NIF:" for="nif" />
|
<p:outputLabel value="NIF:" for="nif" />
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-4 ui-md-4">
|
<div class="ui-g-4 ui-md-4">
|
||||||
<p:inputText id="nif" value="#{RegisterUser.nif}" validator="nifValidator" maxlength="20" required="true" requiredMessage="Por favor, indque su NIF">
|
<div class="ui-inputgroup">
|
||||||
<p:ajax event="blur" update="nifmsg" listener="#{RegisterUser.hadleNIFValueChange}" />
|
<p:inputText id="nif" value="#{RegisterUser.nif}" validator="nifValidator" maxlength="20" required="true" requiredMessage="Por favor, indque su NIF">
|
||||||
</p:inputText>
|
<p:ajax event="blur" update="nifmsg" listener="#{RegisterUser.hadleNIFValueChange}" oncomplete="handleRequest(xhr, status, args)" />
|
||||||
|
</p:inputText>
|
||||||
|
<p:commandButton widgetVar="nifButton" icon="pi pi-times" styleClass="red-button" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-6 ui-md-6">
|
<div class="ui-g-6 ui-md-6">
|
||||||
<p:message id="nifmsg" for="nif" />
|
<p:message id="nifmsg" for="nif" />
|
||||||
@@ -151,7 +156,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="ui-g-4 ui-md-4">
|
<div class="ui-g-4 ui-md-4">
|
||||||
<p:autoComplete id="selPHC" dropdown="true" required="true" value="#{RegisterUser.primaryHealthCareCenter}" completeMethod="#{RegisterUser.completePrimaryHealCareCenter}"
|
<p:autoComplete id="selPHC" dropdown="true" required="true" value="#{RegisterUser.primaryHealthCareCenter}" completeMethod="#{RegisterUser.completePrimaryHealCareCenter}"
|
||||||
var="phc" itemLabel="#{phc.displayName}" itemValue="#{phc}" forceSelection="true" requiredMessage="Por favor, selecciona un nuevo centro de antención primaria">
|
var="phc" itemLabel="#{phc.displayName}" itemValue="#{phc}" forceSelection="true" requiredMessage="Por favor, selecciona un nuevo centro de antención primaria"
|
||||||
|
placeholder="Seleccione una CAP o teclee para buscar...">
|
||||||
<o:converter converterId="omnifaces.ListConverter" list="#{RegisterUser.phcList}" />
|
<o:converter converterId="omnifaces.ListConverter" list="#{RegisterUser.phcList}" />
|
||||||
<p:column headerText="Nombre">
|
<p:column headerText="Nombre">
|
||||||
<h:outputText value="#{phc.name}" />
|
<h:outputText value="#{phc.name}" />
|
||||||
@@ -172,7 +178,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="ui-g-4 ui-md-4">
|
<div class="ui-g-4 ui-md-4">
|
||||||
<p:autoComplete id="selMS" dropdown="true" required="true" value="#{RegisterUser.medicalSpecialty}" completeMethod="#{RegisterUser.completeMedicalSpecialty}" var="ms"
|
<p:autoComplete id="selMS" dropdown="true" required="true" value="#{RegisterUser.medicalSpecialty}" completeMethod="#{RegisterUser.completeMedicalSpecialty}" var="ms"
|
||||||
itemLabel="#{ms.displayName}" itemValue="#{ms}" forceSelection="true" requiredMessage="Por favor, selecciona una especialidad médica">
|
itemLabel="#{ms.displayName}" itemValue="#{ms}" forceSelection="true" requiredMessage="Por favor, selecciona una especialidad médica"
|
||||||
|
placeholder="Seleccione una especialidad médica o teclee para buscar...">
|
||||||
<o:converter converterId="omnifaces.ListConverter" list="#{RegisterUser.medicalSpecialtiesList}" />
|
<o:converter converterId="omnifaces.ListConverter" list="#{RegisterUser.medicalSpecialtiesList}" />
|
||||||
<p:column headerText="Nombre">
|
<p:column headerText="Nombre">
|
||||||
<h:outputText value="#{ms.name}" />
|
<h:outputText value="#{ms.name}" />
|
||||||
|
|||||||
@@ -7,6 +7,25 @@
|
|||||||
<ui:composition template="../header.xhtml">
|
<ui:composition template="../header.xhtml">
|
||||||
<ui:define name="content">
|
<ui:define name="content">
|
||||||
<h:form id="frmUpdateProfile">
|
<h:form id="frmUpdateProfile">
|
||||||
|
<h:outputScript>
|
||||||
|
function handleRequest(xhr, status, args) {
|
||||||
|
var nif = PF('nifButton');
|
||||||
|
if ( args.NIFisDupe == false ) {
|
||||||
|
nif.jq.children(".ui-icon").removeClass("pi pi-times");
|
||||||
|
nif.jq.removeClass('red-button');
|
||||||
|
|
||||||
|
nif.jq.children(".ui-icon").addClass("pi pi-check");
|
||||||
|
nif.jq.addClass('green-button');
|
||||||
|
}
|
||||||
|
else if (nif.jq.hasClass('red-button') == false) {
|
||||||
|
nif.jq.children(".ui-icon").removeClass("pi pi-check");
|
||||||
|
nif.jq.removeClass('green-button');
|
||||||
|
|
||||||
|
nif.jq.children(".ui-icon").addClass("pi pi-times");
|
||||||
|
nif.jq.addClass('red-button');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</h:outputScript>
|
||||||
<p:messages id="mesgs" showDetail="true" closable="true" autoupdate="true" />
|
<p:messages id="mesgs" showDetail="true" closable="true" autoupdate="true" />
|
||||||
|
|
||||||
<p:panel id="tipoUsuario" header="Tipo de usuario registrado">
|
<p:panel id="tipoUsuario" header="Tipo de usuario registrado">
|
||||||
@@ -41,9 +60,12 @@
|
|||||||
<p:outputLabel value="NIF:" for="nif" />
|
<p:outputLabel value="NIF:" for="nif" />
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-4 ui-md-4">
|
<div class="ui-g-4 ui-md-4">
|
||||||
<p:inputText id="nif" value="#{UpdateProfile.nif}" validator="nifValidator" required="true" maxlength="50" requiredMessage="Por favor, indque su NIF">
|
<div class="ui-inputgroup">
|
||||||
<p:ajax event="blur" update="nifmsg" listener="#{UpdateProfile.hadleNIFValueChange}" />
|
<p:inputText id="nif" value="#{UpdateProfile.nif}" validator="nifValidator" maxlength="20" required="true" requiredMessage="Por favor, indque su NIF">
|
||||||
</p:inputText>
|
<p:ajax event="blur" update="nifmsg" listener="#{UpdateProfile.hadleNIFValueChange}" oncomplete="handleRequest(xhr, status, args)" />
|
||||||
|
</p:inputText>
|
||||||
|
<p:commandButton widgetVar="nifButton" icon="pi pi-check" styleClass="green-button" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-6 ui-md-6">
|
<div class="ui-g-6 ui-md-6">
|
||||||
<p:message id="nifmsg" for="nif" display="text" />
|
<p:message id="nifmsg" for="nif" display="text" />
|
||||||
@@ -159,7 +181,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="ui-g-4 ui-md-4">
|
<div class="ui-g-4 ui-md-4">
|
||||||
<p:autoComplete id="FamilyDoc" readonly="true" dropdown="true" required="true" value="#{UpdateProfile.familyDoctor}" completeMethod="#{UpdateProfile.completeFamilyDoctor}"
|
<p:autoComplete id="FamilyDoc" readonly="true" dropdown="true" required="true" value="#{UpdateProfile.familyDoctor}" completeMethod="#{UpdateProfile.completeFamilyDoctor}"
|
||||||
var="fd" itemLabel="#{fd.displayName}" itemValue="#{fd}" forceSelection="true" requiredMessage="Por favor, selecciona un médico de familia">
|
var="fd" itemLabel="#{fd.displayName}" itemValue="#{fd}" forceSelection="true" requiredMessage="Por favor, selecciona un médico de familia"
|
||||||
|
placeholder="Seleccione su médico de familia a través de la opción de cambiar médico de familia...">
|
||||||
<o:converter converterId="omnifaces.ListConverter" list="#{UpdateProfile.familyDoctorList}" />
|
<o:converter converterId="omnifaces.ListConverter" list="#{UpdateProfile.familyDoctorList}" />
|
||||||
<p:column headerText="Num. Prof.">
|
<p:column headerText="Num. Prof.">
|
||||||
<h:outputText value="#{fd.professionalNumber}" />
|
<h:outputText value="#{fd.professionalNumber}" />
|
||||||
|
|||||||
@@ -10,3 +10,25 @@ BODY {
|
|||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.green-button.ui-button.ui-state-default {
|
||||||
|
background-color: #5cb85c;
|
||||||
|
border-color: #5cb85c;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.green-button.ui-button.ui-state-default:enabled:hover, .green-button.ui-button.ui-state-default:focus {
|
||||||
|
background-color: #4cae4c;
|
||||||
|
border-color: #5cb85c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.red-button.ui-button.ui-state-default {
|
||||||
|
background-color: #d9534f;
|
||||||
|
border-color: #d9534f;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.red-button.ui-button.ui-state-default:enabled:hover, .red-button.ui-button.ui-state-default:focus {
|
||||||
|
background-color: #d43f3a;
|
||||||
|
border-color: #d9534f;
|
||||||
|
}
|
||||||
@@ -129,8 +129,13 @@ public class RegisterUserMBean extends ManagedBeanBase implements Serializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void hadleNIFValueChange() {
|
public void hadleNIFValueChange() {
|
||||||
if (ValidationUtils.checkIfNifAlreadyRegistered(this.getRemoteManagerCommon(), this.userType, this.nif, null) == true)
|
boolean isDupe = false;
|
||||||
|
if (ValidationUtils.checkIfNifAlreadyRegistered(this.getRemoteManagerCommon(), this.userType, this.nif, null) == true) {
|
||||||
|
isDupe = true;
|
||||||
this.addFacesMessage("frmRegisterUser:nif", FacesMessage.SEVERITY_WARN, "NIF duplicado", "El nif indicado pertenece a otro usuario previamente registrado");
|
this.addFacesMessage("frmRegisterUser:nif", FacesMessage.SEVERITY_WARN, "NIF duplicado", "El nif indicado pertenece a otro usuario previamente registrado");
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimeFaces.current().ajax().addCallbackParam("NIFisDupe", isDupe);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPatient() {
|
public boolean isPatient() {
|
||||||
|
|||||||
@@ -173,8 +173,13 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void hadleNIFValueChange() {
|
public void hadleNIFValueChange() {
|
||||||
if (ValidationUtils.checkIfNifAlreadyRegistered(this.getRemoteManagerCommon(), this.userType, this.nif, this.id) == true)
|
boolean isDupe = false;
|
||||||
|
if (ValidationUtils.checkIfNifAlreadyRegistered(this.getRemoteManagerCommon(), this.userType, this.nif, this.id) == true) {
|
||||||
|
isDupe = true;
|
||||||
this.addFacesMessage("frmUpdateProfile:nif", FacesMessage.SEVERITY_WARN, "NIF duplicado", "El nif indicado pertenece a otro usuario previamente registrado");
|
this.addFacesMessage("frmUpdateProfile:nif", FacesMessage.SEVERITY_WARN, "NIF duplicado", "El nif indicado pertenece a otro usuario previamente registrado");
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimeFaces.current().ajax().addCallbackParam("NIFisDupe", isDupe);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<FamilyDoctorTO> getFamilyDoctorList() {
|
public List<FamilyDoctorTO> getFamilyDoctorList() {
|
||||||
|
|||||||
Reference in New Issue
Block a user