Añadidos permisos (visibilidad) al menú principal para cada tipo de
usuario. Completada página para edición de datos personales.
This commit is contained in:
@@ -71,7 +71,7 @@
|
|||||||
<p:menubar model="#{menuView.model}">
|
<p:menubar model="#{menuView.model}">
|
||||||
<f:facet name="options">
|
<f:facet name="options">
|
||||||
<ui:fragment rendered="#{home.logedIn}">
|
<ui:fragment rendered="#{home.logedIn}">
|
||||||
<h:outputText value="hola, #{home.userName} " />
|
<h:outputText value="logeado como #{home.userName} (#{home.userType}) " />
|
||||||
<p:commandButton value="Logout" icon="pi pi-sign-out" action="#{loginView.logout}" />
|
<p:commandButton value="Logout" icon="pi pi-sign-out" action="#{loginView.logout}" />
|
||||||
</ui:fragment>
|
</ui:fragment>
|
||||||
<ui:fragment rendered="#{not home.logedIn}">
|
<ui:fragment rendered="#{not home.logedIn}">
|
||||||
|
|||||||
@@ -93,7 +93,16 @@
|
|||||||
<p:message for="email" />
|
<p:message for="email" />
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-2 ui-md-2">
|
<div class="ui-g-2 ui-md-2">
|
||||||
<p:outputLabel value="Contraseña" for="password" />
|
<p:outputLabel value="Contraseña anterior" for="oldpassword" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-4 ui-md-4">
|
||||||
|
<p:password id="oldpassword" value="#{UpdateProfile.oldPassword}" required="false" requiredMessage="Por favor, especifique su contraseña actual" maxlength="50" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-6 ui-md-6">
|
||||||
|
<p:message for="oldpassword" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-2 ui-md-2">
|
||||||
|
<p:outputLabel value="Nueva contraseña" for="password" />
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-4 ui-md-4">
|
<div class="ui-g-4 ui-md-4">
|
||||||
<p:password id="password" value="#{UpdateProfile.password}" match="passwordRepeat" required="false" requiredMessage="Por favor, especifique una contraseña" maxlength="50"
|
<p:password id="password" value="#{UpdateProfile.password}" match="passwordRepeat" required="false" requiredMessage="Por favor, especifique una contraseña" maxlength="50"
|
||||||
|
|||||||
@@ -99,6 +99,8 @@ public class ProfileFacadeBean implements ProfileFacadeRemote {
|
|||||||
pat.setNif(nif);
|
pat.setNif(nif);
|
||||||
pat.setName(name);
|
pat.setName(name);
|
||||||
pat.setSurname(surname);
|
pat.setSurname(surname);
|
||||||
|
// Solo cambia el password si se especifica uno nuevo
|
||||||
|
if (password != null && password.trim().equals("") == false)
|
||||||
pat.setPassword(HashUtils.hashMD5(password));
|
pat.setPassword(HashUtils.hashMD5(password));
|
||||||
pat.setEmail(email);
|
pat.setEmail(email);
|
||||||
|
|
||||||
@@ -125,6 +127,8 @@ public class ProfileFacadeBean implements ProfileFacadeRemote {
|
|||||||
sd.setNif(nif);
|
sd.setNif(nif);
|
||||||
sd.setName(name);
|
sd.setName(name);
|
||||||
sd.setSurname(surname);
|
sd.setSurname(surname);
|
||||||
|
// Solo cambia el password si se especifica uno nuevo
|
||||||
|
if (password != null && password.trim().equals("") == false)
|
||||||
sd.setPassword(HashUtils.hashMD5(password));
|
sd.setPassword(HashUtils.hashMD5(password));
|
||||||
sd.setEmail(email);
|
sd.setEmail(email);
|
||||||
sd.setMedicalSpecialty(ms);
|
sd.setMedicalSpecialty(ms);
|
||||||
@@ -151,6 +155,8 @@ public class ProfileFacadeBean implements ProfileFacadeRemote {
|
|||||||
fd.setNif(nif);
|
fd.setNif(nif);
|
||||||
fd.setName(name);
|
fd.setName(name);
|
||||||
fd.setSurname(surname);
|
fd.setSurname(surname);
|
||||||
|
// Solo cambia el password si se especifica uno nuevo
|
||||||
|
if (password != null && password.trim().equals("") == false)
|
||||||
fd.setPassword(HashUtils.hashMD5(password));
|
fd.setPassword(HashUtils.hashMD5(password));
|
||||||
fd.setEmail(email);
|
fd.setEmail(email);
|
||||||
fd.setPrimaryHealthCareCenter(phcC);
|
fd.setPrimaryHealthCareCenter(phcC);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package managedbean.common;
|
package managedbean.common;
|
||||||
|
|
||||||
import java.awt.MenuItem;
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
@@ -14,7 +13,8 @@ import org.primefaces.model.menu.DefaultMenuModel;
|
|||||||
import org.primefaces.model.menu.DefaultSeparator;
|
import org.primefaces.model.menu.DefaultSeparator;
|
||||||
import org.primefaces.model.menu.DefaultSubMenu;
|
import org.primefaces.model.menu.DefaultSubMenu;
|
||||||
import org.primefaces.model.menu.MenuModel;
|
import org.primefaces.model.menu.MenuModel;
|
||||||
import org.primefaces.model.menu.Submenu;
|
|
||||||
|
import common.UserType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -33,56 +33,80 @@ public class MenuMBean implements Serializable {
|
|||||||
model = new DefaultMenuModel();
|
model = new DefaultMenuModel();
|
||||||
DefaultMenuItem item;
|
DefaultMenuItem item;
|
||||||
DefaultSubMenu subMenu;
|
DefaultSubMenu subMenu;
|
||||||
|
UserType tipoUsuario = null;
|
||||||
|
|
||||||
model.addElement(createMenuItem("Home", "pi pi-home", "/home", null));
|
model.addElement(createMenuItem("Home", "pi pi-home", "/home", null));
|
||||||
|
|
||||||
if (SessionUtils.isLogedIn() == true) {
|
if (SessionUtils.isLogedIn() == true) {
|
||||||
|
tipoUsuario = SessionUtils.getUserType();
|
||||||
|
|
||||||
// Administracion Sistema
|
// Administracion Sistema
|
||||||
// TODO: mostrar este menú solo si el usuario es administrador
|
if (tipoUsuario == UserType.ADMINISTRADOR) {
|
||||||
if (1 == 1) {
|
|
||||||
subMenu = new DefaultSubMenu("Administración del sistema", "pi pi-cog");
|
subMenu = new DefaultSubMenu("Administración del sistema", "pi pi-cog");
|
||||||
subMenu.addElement(createMenuItem("Esp. médicas", "pi pi-calendar", "/systemAdmin/ManageSpecialties", null));
|
|
||||||
|
subMenu.addElement(createMenuItem("Gestionar especialidades", "pi pi-calendar", "/systemAdmin/ManageSpecialties", null));
|
||||||
subMenu.addElement(createMenuItem("Centros At. Primaria", "pi pi-briefcase", "/systemAdmin/ManageSpecialties", null));
|
subMenu.addElement(createMenuItem("Centros At. Primaria", "pi pi-briefcase", "/systemAdmin/ManageSpecialties", null));
|
||||||
subMenu.addElement(new DefaultSeparator());
|
subMenu.addElement(new DefaultSeparator());
|
||||||
|
subMenu.addElement(createMenuItem("Ver médicos de un CAP", "pi pi-calendar", "/systemAdmin/ManageSpecialties", null));
|
||||||
|
subMenu.addElement(new DefaultSeparator());
|
||||||
subMenu.addElement(createMenuItem("Añadir usuario Admin", "pi pi-calendar", "/systemAdmin/ManageSpecialties", null));
|
subMenu.addElement(createMenuItem("Añadir usuario Admin", "pi pi-calendar", "/systemAdmin/ManageSpecialties", null));
|
||||||
|
|
||||||
model.addElement(subMenu);
|
model.addElement(subMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Visitas
|
// Visitas
|
||||||
// TODO: mostrar este menú solo si el usuario es paciente
|
if (tipoUsuario == UserType.PATIENT || tipoUsuario == UserType.ADMINISTRADOR || tipoUsuario == UserType.FAMILY_DOCTOR) {
|
||||||
if (1 == 1) {
|
|
||||||
subMenu = new DefaultSubMenu("Visitas", "pi pi-calendar");
|
subMenu = new DefaultSubMenu("Visitas", "pi pi-calendar");
|
||||||
subMenu.addElement(createMenuItem("Agendar", "pi pi-calendar", "/visit/VisitView", null));
|
|
||||||
subMenu.addElement(createMenuItem("Consultar", "pi pi-briefcase", "/visit/VisitView", null));
|
if (tipoUsuario == UserType.PATIENT)
|
||||||
|
subMenu.addElement(createMenuItem("Solicitar nueva", "pi pi-calendar", "/visit/VisitView", null));
|
||||||
|
if (tipoUsuario == UserType.PATIENT || tipoUsuario == UserType.ADMINISTRADOR)
|
||||||
|
subMenu.addElement(createMenuItem("Modificar fecha/hora", "pi pi-calendar", "/visit/VisitView", null));
|
||||||
|
if (tipoUsuario == UserType.PATIENT)
|
||||||
|
subMenu.addElement(createMenuItem("Anular visita", "pi pi-calendar", "/visit/VisitView", null));
|
||||||
|
if (tipoUsuario == UserType.FAMILY_DOCTOR)
|
||||||
|
subMenu.addElement(createMenuItem("Añadir resultado", "pi pi-briefcase", "/visit/VisitView", null));
|
||||||
|
if (tipoUsuario == UserType.FAMILY_DOCTOR)
|
||||||
|
subMenu.addElement(createMenuItem("Ver agenda del día", "pi pi-calendar", "/visit/VisitView", null));
|
||||||
|
|
||||||
model.addElement(subMenu);
|
model.addElement(subMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pruebas médicas
|
// Pruebas médicas
|
||||||
// TODO: mostrar este menú solo si el usuario es medico // etc...
|
if (tipoUsuario == UserType.PATIENT || tipoUsuario == UserType.SPECIALIST_DOCTOR || tipoUsuario == UserType.FAMILY_DOCTOR) {
|
||||||
if (1 == 1) {
|
subMenu = new DefaultSubMenu("Especialista", "pi pi-clone");
|
||||||
|
|
||||||
subMenu = new DefaultSubMenu("Pruebas Medicas", "pi pi-clone");
|
if (tipoUsuario == UserType.SPECIALIST_DOCTOR)
|
||||||
subMenu.addElement(createMenuItem("Añadir", "pi pi-clone", "/medicaltest/MedicalTests", null));
|
subMenu.addElement(createMenuItem("Añadir prueba", "pi pi-clone", "/medicaltest/MedicalTests", null));
|
||||||
subMenu.addElement(createMenuItem("Gestionar", "pi pi-briefcase", "/medicaltest/MedicalTests", null));
|
|
||||||
|
// Todos pueden consultar (P S F)
|
||||||
|
subMenu.addElement(createMenuItem("Consultar prueba", "pi pi-briefcase", "/medicaltest/MedicalTests", null));
|
||||||
subMenu.addElement(new DefaultSeparator());
|
subMenu.addElement(new DefaultSeparator());
|
||||||
subMenu.addElement(createMenuItem("Consultar médicos pro esp.", "pi pi-search", "/medicaltest/MedicalTests", null));
|
|
||||||
|
if (tipoUsuario == UserType.SPECIALIST_DOCTOR) {
|
||||||
subMenu.addElement(new DefaultSeparator());
|
subMenu.addElement(new DefaultSeparator());
|
||||||
subMenu.addElement(createMenuItem("Listar médicos", "pi pi-list", "/medicaltest/MedicalTests", null));
|
subMenu.addElement(createMenuItem("Gestionar imagen de una prueba", "pi pi-search", "/medicaltest/MedicalTests", null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tipoUsuario == UserType.PATIENT)
|
||||||
|
subMenu.addElement(createMenuItem("Buscar especialista...", "pi pi-list", "/medicaltest/MedicalTests", null));
|
||||||
|
|
||||||
model.addElement(subMenu);
|
model.addElement(subMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Preguntas
|
// Preguntas médicas
|
||||||
// TODO: mostrar este menú solo si el usuario es paciente o medico
|
if (tipoUsuario == UserType.PATIENT || tipoUsuario == UserType.FAMILY_DOCTOR) {
|
||||||
if (1 == 1) {
|
|
||||||
subMenu = new DefaultSubMenu("Preguntas", "pi pi-clone");
|
subMenu = new DefaultSubMenu("Preguntas", "pi pi-clone");
|
||||||
// TODO: Si es paciente puede preguntar
|
|
||||||
if (true == true)
|
if (tipoUsuario == UserType.PATIENT)
|
||||||
subMenu.addElement(createMenuItem("Añadir pregunta", "pi pi-clone", "/medicaltest/MedicalTests", null));
|
subMenu.addElement(createMenuItem("Hacer pregunta", "pi pi-clone", "/medicaltest/MedicalTests", null));
|
||||||
// TODO: Si es medico de familia puede responder
|
|
||||||
if (true == true)
|
if (tipoUsuario == UserType.FAMILY_DOCTOR)
|
||||||
subMenu.addElement(createMenuItem("Responder pregunta", "pi pi-question", "/medicaltest/MedicalTests", null));
|
subMenu.addElement(createMenuItem("Responder pregunta", "pi pi-question", "/medicaltest/MedicalTests", null));
|
||||||
|
|
||||||
|
if (tipoUsuario == UserType.FAMILY_DOCTOR)
|
||||||
|
subMenu.addElement(createMenuItem("Ver preguntas pendientes", "pi pi-question", "/medicaltest/MedicalTests", null));
|
||||||
|
|
||||||
model.addElement(subMenu);
|
model.addElement(subMenu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -93,24 +117,27 @@ public class MenuMBean implements Serializable {
|
|||||||
subMenu.addElement(createMenuItem("Registro de usuario", "pi pi-users", "/profile/RegisterUser", null));
|
subMenu.addElement(createMenuItem("Registro de usuario", "pi pi-users", "/profile/RegisterUser", null));
|
||||||
subMenu.addElement(createMenuItem("Registro de paciente", "pi pi-user-plus", "/profile/AddPatient", null));
|
subMenu.addElement(createMenuItem("Registro de paciente", "pi pi-user-plus", "/profile/AddPatient", null));
|
||||||
subMenu.addElement(createMenuItem("Registro de médico", "pi pi-user-plus", "/profile/AddFamilyDoctor", null));
|
subMenu.addElement(createMenuItem("Registro de médico", "pi pi-user-plus", "/profile/AddFamilyDoctor", null));
|
||||||
subMenu.addElement(createMenuItem("Registro de especialista", "pi pi-user-plus", "/profile/AddFamilyDoctor", null));
|
subMenu.addElement(createMenuItem("Registro de especialista", "pi pi-user-plus", "/profile/AddSpecialistDoctor", null));
|
||||||
subMenu.addElement(createMenuItem("Registro de médico", "pi pi-user-plus", "/profile/AddSpecialistDoctor", null));
|
|
||||||
subMenu.addElement(new DefaultSeparator());
|
|
||||||
} else {
|
|
||||||
|
|
||||||
subMenu.addElement(createMenuItem("Actualizar mi perfil", "pi pi-user-edit", "/profile/UpdateProfile", null));
|
model.addElement(subMenu);
|
||||||
|
} else {
|
||||||
|
if (tipoUsuario != UserType.ADMINISTRADOR) {
|
||||||
|
subMenu.addElement(createMenuItem("Modificar datos personales", "pi pi-user-edit", "/profile/UpdateProfile", null));
|
||||||
subMenu.addElement(new DefaultSeparator());
|
subMenu.addElement(new DefaultSeparator());
|
||||||
// TODO: mostrar este menú solo si el usuario es paciente
|
|
||||||
if (true == true) {
|
if (tipoUsuario == UserType.PATIENT) {
|
||||||
subMenu.addElement(createMenuItem("Cambiar médico de familia", "pi pi-chevron-circle-right", "/profile/ChangeFamilyDoctor", null));
|
subMenu.addElement(createMenuItem("Cambiar médico de familia", "pi pi-chevron-circle-right", "/profile/ChangeFamilyDoctor", null));
|
||||||
subMenu.addElement(new DefaultSeparator());
|
subMenu.addElement(new DefaultSeparator());
|
||||||
}
|
}
|
||||||
// TODO: mostrar este menú solo si el usuario es médico de familia
|
|
||||||
if (true == true)
|
if (tipoUsuario == UserType.FAMILY_DOCTOR) {
|
||||||
subMenu.addElement(createMenuItem("Cambiar CAP", "fa fa-h-square", "/profile/ChangePrimaryHealthCareCenter", null));
|
subMenu.addElement(createMenuItem("Cambiar CAP", "fa fa-h-square", "/profile/ChangePrimaryHealthCareCenter", null));
|
||||||
}
|
}
|
||||||
|
|
||||||
model.addElement(subMenu);
|
model.addElement(subMenu);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private DefaultMenuItem createMenuItem(String name, String icon, String outcome, String command) {
|
private DefaultMenuItem createMenuItem(String name, String icon, String outcome, String command) {
|
||||||
DefaultMenuItem item = new DefaultMenuItem(name, icon);
|
DefaultMenuItem item = new DefaultMenuItem(name, icon);
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import TO.LoggedUserTO;
|
import TO.LoggedUserTO;
|
||||||
|
import common.UserType;
|
||||||
|
|
||||||
public class SessionUtils {
|
public class SessionUtils {
|
||||||
public static final String SESSION_VAR_USERNAME = "userName";
|
public static final String SESSION_VAR_USERNAME = "userName";
|
||||||
@@ -70,6 +71,14 @@ public class SessionUtils {
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static UserType getUserType() {
|
||||||
|
HttpSession session = getSession();
|
||||||
|
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USERTYPE) != null)
|
||||||
|
return UserType.class.cast(session.getAttribute(SessionUtils.SESSION_VAR_USERTYPE));
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static LoggedUserTO getloggedOnUser() {
|
public static LoggedUserTO getloggedOnUser() {
|
||||||
HttpSession session = getSession();
|
HttpSession session = getSession();
|
||||||
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USER) != null)
|
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USER) != null)
|
||||||
|
|||||||
@@ -47,6 +47,10 @@ public class homeMBean implements Serializable {
|
|||||||
return SessionUtils.getUserId();
|
return SessionUtils.getUserId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getUserType() {
|
||||||
|
return SessionUtils.getUserType().getUserTypename();
|
||||||
|
}
|
||||||
|
|
||||||
public int getRefresh() {
|
public int getRefresh() {
|
||||||
return refresh;
|
return refresh;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,18 +4,13 @@ import java.io.Serializable;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Properties;
|
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import javax.faces.application.FacesMessage;
|
import javax.faces.application.FacesMessage;
|
||||||
import javax.faces.context.ExternalContext;
|
|
||||||
import javax.faces.context.FacesContext;
|
|
||||||
import javax.faces.view.ViewScoped;
|
import javax.faces.view.ViewScoped;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
import javax.naming.Context;
|
|
||||||
import javax.naming.InitialContext;
|
|
||||||
import javax.naming.NamingException;
|
|
||||||
import javax.resource.NotSupportedException;
|
import javax.resource.NotSupportedException;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
|
||||||
import org.primefaces.PrimeFaces;
|
import org.primefaces.PrimeFaces;
|
||||||
|
|
||||||
@@ -25,7 +20,6 @@ import TO.PatientTO;
|
|||||||
import TO.PrimaryHealthCareCenterTO;
|
import TO.PrimaryHealthCareCenterTO;
|
||||||
import TO.SpecialistDoctorTO;
|
import TO.SpecialistDoctorTO;
|
||||||
import common.UserType;
|
import common.UserType;
|
||||||
import ejb.systemAdmin.SystemAdminFacadeRemote;
|
|
||||||
import managedbean.common.ManagedBeanBase;
|
import managedbean.common.ManagedBeanBase;
|
||||||
import managedbean.common.ValidationUtils;
|
import managedbean.common.ValidationUtils;
|
||||||
|
|
||||||
@@ -46,8 +40,8 @@ public class RegisterUserMBean extends ManagedBeanBase implements Serializable {
|
|||||||
private String nif;
|
private String nif;
|
||||||
private String name;
|
private String name;
|
||||||
private String surname;
|
private String surname;
|
||||||
|
@Size(min = 4, message = "La contraseña debe tener al menos 4 carácteres.")
|
||||||
private String password;
|
private String password;
|
||||||
private String passwordRepeat;
|
|
||||||
private String email;
|
private String email;
|
||||||
private boolean registered;
|
private boolean registered;
|
||||||
|
|
||||||
@@ -227,14 +221,6 @@ public class RegisterUserMBean extends ManagedBeanBase implements Serializable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPasswordRepeat() {
|
|
||||||
return passwordRepeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPasswordRepeat(String passwordRepeat) {
|
|
||||||
this.passwordRepeat = passwordRepeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUserType() {
|
public String getUserType() {
|
||||||
return userType;
|
return userType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import TO.MedicalSpecialtyTO;
|
|||||||
import TO.PatientTO;
|
import TO.PatientTO;
|
||||||
import TO.PrimaryHealthCareCenterTO;
|
import TO.PrimaryHealthCareCenterTO;
|
||||||
import TO.SpecialistDoctorTO;
|
import TO.SpecialistDoctorTO;
|
||||||
|
import common.HashUtils;
|
||||||
import common.UserType;
|
import common.UserType;
|
||||||
import ejb.systemAdmin.SystemAdminFacadeRemote;
|
import ejb.systemAdmin.SystemAdminFacadeRemote;
|
||||||
import managedbean.common.ManagedBeanBase;
|
import managedbean.common.ManagedBeanBase;
|
||||||
@@ -49,10 +50,10 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
private String nif;
|
private String nif;
|
||||||
private String name;
|
private String name;
|
||||||
private String surname;
|
private String surname;
|
||||||
|
private String currentPassword;
|
||||||
|
private String oldPassword;
|
||||||
private String password;
|
private String password;
|
||||||
private String passwordRepeat;
|
|
||||||
private String email;
|
private String email;
|
||||||
private boolean registered;
|
|
||||||
|
|
||||||
// private HashMap<String, String> userTypes;
|
// private HashMap<String, String> userTypes;
|
||||||
private List<UserType> userTypes;
|
private List<UserType> userTypes;
|
||||||
@@ -97,6 +98,7 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
this.surname = pat.getName();
|
this.surname = pat.getName();
|
||||||
this.nif = pat.getNif();
|
this.nif = pat.getNif();
|
||||||
this.email = pat.getEmail();
|
this.email = pat.getEmail();
|
||||||
|
this.currentPassword = pat.getPassword();
|
||||||
break;
|
break;
|
||||||
case SPECIALIST_DOCTOR:
|
case SPECIALIST_DOCTOR:
|
||||||
this.medicalSpecialitiesList = this.getRemoteManagerSystemAdmin().listAllMedicalSpecialities();
|
this.medicalSpecialitiesList = this.getRemoteManagerSystemAdmin().listAllMedicalSpecialities();
|
||||||
@@ -106,6 +108,7 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
this.surname = sd.getName();
|
this.surname = sd.getName();
|
||||||
this.nif = sd.getNif();
|
this.nif = sd.getNif();
|
||||||
this.email = sd.getEmail();
|
this.email = sd.getEmail();
|
||||||
|
this.currentPassword = sd.getPassword();
|
||||||
this.medicalSpecialty = sd.getMedicalSpecialty();
|
this.medicalSpecialty = sd.getMedicalSpecialty();
|
||||||
break;
|
break;
|
||||||
case FAMILY_DOCTOR:
|
case FAMILY_DOCTOR:
|
||||||
@@ -116,6 +119,7 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
this.surname = fd.getName();
|
this.surname = fd.getName();
|
||||||
this.nif = fd.getNif();
|
this.nif = fd.getNif();
|
||||||
this.email = fd.getEmail();
|
this.email = fd.getEmail();
|
||||||
|
this.currentPassword = fd.getPassword();
|
||||||
this.primaryHealthCareCenter = fd.getPrimaryHealthCareCenter();
|
this.primaryHealthCareCenter = fd.getPrimaryHealthCareCenter();
|
||||||
break;
|
break;
|
||||||
case ADMINISTRADOR:
|
case ADMINISTRADOR:
|
||||||
@@ -227,6 +231,7 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
|
|
||||||
public void saveData() {
|
public void saveData() {
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
boolean changePassword = (this.oldPassword != null && this.oldPassword.equals("") == false) || (this.password != null && this.password.equals("") == false);
|
||||||
|
|
||||||
if (this.isFamilyDoctor() && this.primaryHealthCareCenter == null) {
|
if (this.isFamilyDoctor() && this.primaryHealthCareCenter == null) {
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Centro de atención primaria no seleccionado", "Por favor, especifique un centro de atención primaria.");
|
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Centro de atención primaria no seleccionado", "Por favor, especifique un centro de atención primaria.");
|
||||||
@@ -240,6 +245,16 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "El NIF indicado no es válido", "Por favor, especifique un NIF válido.");
|
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "El NIF indicado no es válido", "Por favor, especifique un NIF válido.");
|
||||||
error++;
|
error++;
|
||||||
}
|
}
|
||||||
|
if (changePassword == true) {
|
||||||
|
// el usuario queire cambiar el password Comprobamos que el password especificado coincide con el guardado
|
||||||
|
if (this.password == null || this.password.length() < 4) {
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Nueva contraseña incorrectra", "Su nueva contraseña debe tener al menos 4 caracteres.");
|
||||||
|
error++;
|
||||||
|
} else if (HashUtils.hashMD5(this.oldPassword).equals(this.currentPassword) == false ) {
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Contraseña actual incorrecta", "Su actual contraseña es incorrecta. Por favor, especifique su contraseña actual.");
|
||||||
|
error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (error == 0) {
|
if (error == 0) {
|
||||||
try {
|
try {
|
||||||
@@ -260,26 +275,22 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case ADMINISTRADOR:
|
case ADMINISTRADOR:
|
||||||
throw new NotSupportedException("No se soporta la edición de perfiles de administrador.");
|
throw new NotSupportedException("No se soporta la edición de perfiles de tipo administrador.");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.registered = true;
|
if (changePassword == true) {
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos guardados", "Los datos de su perfil se han guardado correctamente en la base de datos.");
|
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Contraseña actualizada", "Su contraseña ha sido actualizada correctamente.");
|
||||||
|
this.password = "";
|
||||||
|
this.oldPassword = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de su perfil se han guardado correctamente.");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
this.manageException(e);
|
this.manageException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPasswordRepeat() {
|
|
||||||
return passwordRepeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPasswordRepeat(String passwordRepeat) {
|
|
||||||
this.passwordRepeat = passwordRepeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUserType() {
|
public String getUserType() {
|
||||||
return userType;
|
return userType;
|
||||||
}
|
}
|
||||||
@@ -304,8 +315,12 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
this.primaryHealthCareCenter = primaryHealthCareCenter;
|
this.primaryHealthCareCenter = primaryHealthCareCenter;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isRegistered() {
|
public String getOldPassword() {
|
||||||
return registered;
|
return oldPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOldPassword(String oldPassword) {
|
||||||
|
this.oldPassword = oldPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user