216 lines
10 KiB
HTML
216 lines
10 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
|
|
xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">
|
|
|
|
<ui:composition template="../header.xhtml">
|
|
<ui:define name="content">
|
|
<h:panelGroup id="globalPage">
|
|
<h:form id="frmRegisterUserResult" rendered="#{RegisterUser.registered}">
|
|
<div class="ui-g-3 ui-md-3" />
|
|
<div class="ui-g-6 ui-md-6">
|
|
|
|
<p:panel id="ResultadoAccion" header="El registro se ha realizado correctamente">
|
|
<div class="ui-g ui-fluid">
|
|
|
|
<div class="ui-g-12">
|
|
Enhorabuena
|
|
<p:outputLabel value="#{RegisterUser.name}" />
|
|
, se ha registrado correctamente, el sistema le ha asignado un <b> <p:outputLabel value="Código de Identificación Personal (CIP)" rendered="#{RegisterUser.patient}" />
|
|
<p:outputLabel value="Número de Profesional" rendered="#{RegisterUser.familyDoctor or RegisterUser.specialistDoctor}" />
|
|
</b> , por favor recuerdelo ya que deberá utilizarlo para logearse en el sistema.
|
|
</div>
|
|
|
|
<div class="ui-g-12">
|
|
<p:outputLabel value="Su Código de Identificación Personal (CIP) es el siguiente:" rendered="#{RegisterUser.patient}" />
|
|
<p:outputLabel value="Número de Profesional es el siguiente:" rendered="#{RegisterUser.familyDoctor or RegisterUser.specialistDoctor}" />
|
|
</div>
|
|
|
|
<div class="ui-g-12" style="font-size: larger; font-weight: bold; text-align: center;">
|
|
<p:outputLabel value="#{RegisterUser.cipCode}" />
|
|
</div>
|
|
|
|
<div class="ui-g-3"></div>
|
|
<div class="ui-g-6">
|
|
<p:button value="Ir a la página principal" outcome="/home" icon="pi pi-home" />
|
|
</div>
|
|
<div class="ui-g-3"></div>
|
|
</div>
|
|
|
|
</p:panel>
|
|
</div>
|
|
<div class="ui-g-3 ui-md-3" />
|
|
</h:form>
|
|
|
|
<h:form id="frmRegisterUser" rendered="#{not RegisterUser.registered}">
|
|
<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" globalOnly="true" showDetail="true" closable="true" autoupdate="true" />
|
|
<p:panel id="tipoUsuario" header="Especifique el tipo de usuario que desea registrarse">
|
|
<div class="ui-g ui-fluid">
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:outputLabel value="Tipo de usuario:" for="selUsertype" />
|
|
</div>
|
|
<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">
|
|
<f:selectItems value="#{RegisterUser.availableUserTypes}" var="item" itemLabel="#{item.userTypename}" />
|
|
<p:ajax listener="#{RegisterUser.onUserTypeChange}" update="panCombos" />
|
|
</p:selectOneButton>
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4" />
|
|
</div>
|
|
</p:panel>
|
|
<br />
|
|
<p:panel id="DatosPersonales" header="Especifique el tipo de usuario que desea registrarse">
|
|
<div class="ui-g ui-fluid">
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:outputLabel value="NIF:" for="nif" />
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4">
|
|
<div class="ui-inputgroup">
|
|
<p:inputText id="nif" value="#{RegisterUser.nif}" validator="nifValidator" maxlength="20" required="true" requiredMessage="Por favor, indque su NIF">
|
|
<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 class="ui-g-6 ui-md-6">
|
|
<p:message id="nifmsg" for="nif" />
|
|
</div>
|
|
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:outputLabel value="Nombre:" for="name" />
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4">
|
|
<p:inputText id="name" value="#{RegisterUser.name}" required="true" maxlength="100" requiredMessage="Por favor, indique su nombre" />
|
|
</div>
|
|
<div class="ui-g-6 ui-md-6">
|
|
<p:message for="name" />
|
|
</div>
|
|
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:outputLabel value="Apellidos:" for="surname" />
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4">
|
|
<p:inputText id="surname" value="#{RegisterUser.surname}" required="true" maxlength="100" requiredMessage="Por favor, indique sus apellidos" />
|
|
</div>
|
|
<div class="ui-g-6 ui-md-6">
|
|
<p:message for="surname" />
|
|
</div>
|
|
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:outputLabel value="Correo electrónico:" for="email" />
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4">
|
|
<p:inputText id="email" value="#{RegisterUser.email}" required="true" maxlength="120" validator="emailValidator"
|
|
validatorMessage="La dirección de correo electrónico #{RegisterUser.email} no es válida" requiredMessage="Por favor, especifique su correo electrónico">
|
|
<f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]" />
|
|
</p:inputText>
|
|
</div>
|
|
<div class="ui-g-6 ui-md-6">
|
|
<p:message for="email" />
|
|
</div>
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:outputLabel value="Contraseña" for="password" />
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4">
|
|
<p:password id="password" value="#{RegisterUser.password}" match="passwordRepeat" required="true" maxlength="100" requiredMessage="Por favor, especifique una contraseña"
|
|
feedback="true" promptLabel="Especifique una contraseña segura" weakLabel="La contraseña es débil" goodLabel="La contraseña es buena" strongLabel="La contraseña es segura"
|
|
validatorMessage="La contraseña y su verificación deben ser iguales" />
|
|
</div>
|
|
<div class="ui-g-6 ui-md-6">
|
|
<p:message for="password" />
|
|
</div>
|
|
<div class="ui-g-2">
|
|
<p:outputLabel value="Verificación de contraseña:" for="passwordRepeat" />
|
|
</div>
|
|
<div class="ui-g-4">
|
|
<p:password id="passwordRepeat" value="#{RegisterUser.password}" required="true" maxlength="100" requiredMessage="Por favor, escriba la verificación de su contraseña" />
|
|
</div>
|
|
<div class="ui-g-6">
|
|
<p:message for="passwordRepeat" />
|
|
</div>
|
|
|
|
<h:panelGroup id="panCombos" class="ui-g-12 nopadding" layout="block">
|
|
<h:panelGroup class="ui-g-12 nopadding" layout="block" rendered="#{RegisterUser.familyDoctor}">
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:outputLabel value="Centro:" for="selPHC" />
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4">
|
|
<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"
|
|
placeholder="Seleccione una CAP o teclee para buscar...">
|
|
<o:converter converterId="omnifaces.ListConverter" list="#{RegisterUser.phcList}" />
|
|
<p:column headerText="Nombre">
|
|
<h:outputText value="#{phc.name}" />
|
|
</p:column>
|
|
<p:column headerText="Localización">
|
|
<h:outputText value="#{phc.location}" />
|
|
</p:column>
|
|
</p:autoComplete>
|
|
</div>
|
|
<div class="ui-g-6 ui-md-6">
|
|
<p:message for="selPHC" />
|
|
</div>
|
|
</h:panelGroup>
|
|
|
|
<h:panelGroup layout="block" class="ui-g-12 nopadding" rendered="#{RegisterUser.specialistDoctor}">
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:outputLabel value="Especialidad médica:" for="selMS" />
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4">
|
|
<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"
|
|
placeholder="Seleccione una especialidad médica o teclee para buscar...">
|
|
<o:converter converterId="omnifaces.ListConverter" list="#{RegisterUser.medicalSpecialtiesList}" />
|
|
<p:column headerText="Nombre">
|
|
<h:outputText value="#{ms.name}" />
|
|
</p:column>
|
|
<p:column headerText="Localización">
|
|
<h:outputText value="#{ms.description}" />
|
|
</p:column>
|
|
</p:autoComplete>
|
|
</div>
|
|
<div class="ui-g-6 ui-md-6">
|
|
<p:message for="selMS" />
|
|
</div>
|
|
</h:panelGroup>
|
|
</h:panelGroup>
|
|
|
|
<div class="ui-g-12 ui-g-nopad">
|
|
<div class="ui-g-4 ui-md-4"></div>
|
|
<div class="ui-g-2 ui-md-2 ">
|
|
<p:commandButton validateClient="true" value="Registrarse" update="globalPage" action="#{RegisterUser.addNewUser}" icon="pi pi-check" />
|
|
|
|
</div>
|
|
<div class="ui-g-2 ui-md-2">
|
|
<p:button value="Volver" outcome="/home" icon="pi pi-home" />
|
|
</div>
|
|
<div class="ui-g-4 ui-md-4"></div>
|
|
</div>
|
|
</div>
|
|
</p:panel>
|
|
</h:form>
|
|
</h:panelGroup>
|
|
</ui:define>
|
|
</ui:composition>
|
|
</html>
|