Añadido mensaje de información adicional sobre los datos.
This commit is contained in:
@@ -11,6 +11,9 @@
|
||||
<p:growl id="mesgs" showDetail="true" closable="true" autoupdate="true" />
|
||||
<p:panel id="panelVisit" header="Actualizar detalles de la visita">
|
||||
<div class="ui-g ui-fluid">
|
||||
<p:outputPanel rendered="#{UpdateVisit.infoMessage != null}" styleClass="ui-g-12">
|
||||
<p:staticMessage rendered="#{UpdateVisit.infoMessage != null}" summary="Información adicional:" detail="#{UpdateVisit.infoMessage}" severity="info" />
|
||||
</p:outputPanel>
|
||||
|
||||
<div class="ui-g-2">
|
||||
<p:outputLabel for="paciente" value="Paciente:" />
|
||||
@@ -37,8 +40,8 @@
|
||||
</div>
|
||||
<div class="ui-g-2">
|
||||
<div class="ui-inputgroup">
|
||||
<p:datePicker id="fecha" value="#{UpdateVisit.date}" pattern="dd/MM/yyyy" locale="es" disabled="#{UpdateVisit.readOnly}" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
|
||||
requiredMessage="Especifique la fecha de la visita." readonly="#{UpdateVisit.readOnly}">
|
||||
<p:datePicker id="fecha" value="#{UpdateVisit.date}" pattern="dd/MM/yyyy" locale="es" disabled="#{UpdateVisit.readOnly}" showIcon="true" showButtonBar="true"
|
||||
autocomplete="true" required="true" requiredMessage="Especifique la fecha de la visita." readonly="#{UpdateVisit.readOnly}">
|
||||
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" timeStyle="short" />
|
||||
</p:datePicker>
|
||||
</div>
|
||||
|
||||
@@ -35,6 +35,7 @@ public class UpdateVisitMBean extends ManagedBeanBase implements Serializable {
|
||||
private boolean readOnly;
|
||||
private UserType userType;
|
||||
private String fromPage;
|
||||
private String infoMessage;
|
||||
|
||||
public UpdateVisitMBean() {
|
||||
}
|
||||
@@ -70,20 +71,40 @@ public class UpdateVisitMBean extends ManagedBeanBase implements Serializable {
|
||||
this.result = vi.getResult();
|
||||
this.patient = vi.getPatient();
|
||||
this.familyDoctor = vi.getFamilyDoctor();
|
||||
|
||||
this.setInfoMessage();
|
||||
} else {
|
||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Identificador de visita no válido",
|
||||
"No se ha podido recuperar el identificador de visita especificado. Por favor, vuelva a intentarlo seleccionando de nuevo la visita.");
|
||||
}
|
||||
}
|
||||
|
||||
private void setInfoMessage() {
|
||||
switch (this.userType) {
|
||||
case ADMINISTRATOR:
|
||||
case PATIENT:
|
||||
if (this.result != null && this.result.trim().equals("") == false)
|
||||
this.infoMessage = "La cita ya tiene un resultado y no es editable.";
|
||||
break;
|
||||
case FAMILY_DOCTOR:
|
||||
// El médico de familia solo puede actualizar el resultado.
|
||||
if (this.date.isAfter(LocalDate.now()))
|
||||
this.infoMessage = "La cita es posterior a la fecha actual y no se puede actualizar el resultado.";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void saveData() {
|
||||
int error = 0;
|
||||
|
||||
try {
|
||||
switch (this.userType) {
|
||||
case ADMINISTRATOR:
|
||||
case PATIENT:
|
||||
// Administrador y paciente pueden actualizar la fecha y hora de la visita (excepto el resultado)
|
||||
// Comprobamos que la fecha fijada para la visita no sea anterior a la actual
|
||||
int error = 0;
|
||||
LocalDate today = LocalDate.now();
|
||||
|
||||
if (this.date.isBefore(today)) {
|
||||
@@ -101,9 +122,14 @@ public class UpdateVisitMBean extends ManagedBeanBase implements Serializable {
|
||||
break;
|
||||
case FAMILY_DOCTOR:
|
||||
// El médico de familia solo puede actualizar el resultado.
|
||||
// TODO: implementar método EJB para actualizar el resultado.
|
||||
this.getRemoteManagerVisit().addResultToVisit(this.id, this.result);
|
||||
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Resultado actualizado", "El resultado de la visita se ha actualizado correctamente.");
|
||||
if (this.date.isAfter(LocalDate.now())) {
|
||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Fecha incorrecta", "La cita fijada es posterior a la fecha actual y no se puede actualizar el resultado.");
|
||||
error++;
|
||||
}
|
||||
if (error == 0) {
|
||||
this.getRemoteManagerVisit().addResultToVisit(this.id, this.result);
|
||||
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Resultado actualizado", "El resultado de la visita se ha actualizado correctamente.");
|
||||
}
|
||||
break;
|
||||
case SPECIALIST_DOCTOR:
|
||||
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Acesso denegado", "Su perfil de usuario no está autorizado acceder a esta página.");
|
||||
@@ -204,4 +230,7 @@ public class UpdateVisitMBean extends ManagedBeanBase implements Serializable {
|
||||
this.fromPage = fromPage;
|
||||
}
|
||||
|
||||
public String getInfoMessage() {
|
||||
return infoMessage;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user