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:
Marcos Garcia Nuñez
2019-12-09 18:24:22 +01:00
parent dbacca650e
commit f1607d5801
8 changed files with 132 additions and 76 deletions

View File

@@ -1,6 +1,5 @@
package managedbean.common;
import java.awt.MenuItem;
import java.io.Serializable;
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.DefaultSubMenu;
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();
DefaultMenuItem item;
DefaultSubMenu subMenu;
UserType tipoUsuario = null;
model.addElement(createMenuItem("Home", "pi pi-home", "/home", null));
if (SessionUtils.isLogedIn() == true) {
tipoUsuario = SessionUtils.getUserType();
// Administracion Sistema
// TODO: mostrar este menú solo si el usuario es administrador
if (1 == 1) {
if (tipoUsuario == UserType.ADMINISTRADOR) {
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(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));
model.addElement(subMenu);
}
// Visitas
// TODO: mostrar este menú solo si el usuario es paciente
if (1 == 1) {
if (tipoUsuario == UserType.PATIENT || tipoUsuario == UserType.ADMINISTRADOR || tipoUsuario == UserType.FAMILY_DOCTOR) {
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);
}
// Pruebas médicas
// TODO: mostrar este menú solo si el usuario es medico // etc...
if (1 == 1) {
if (tipoUsuario == UserType.PATIENT || tipoUsuario == UserType.SPECIALIST_DOCTOR || tipoUsuario == UserType.FAMILY_DOCTOR) {
subMenu = new DefaultSubMenu("Especialista", "pi pi-clone");
subMenu = new DefaultSubMenu("Pruebas Medicas", "pi pi-clone");
subMenu.addElement(createMenuItem("Añadir", "pi pi-clone", "/medicaltest/MedicalTests", null));
subMenu.addElement(createMenuItem("Gestionar", "pi pi-briefcase", "/medicaltest/MedicalTests", null));
if (tipoUsuario == UserType.SPECIALIST_DOCTOR)
subMenu.addElement(createMenuItem("Añadir prueba", "pi pi-clone", "/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(createMenuItem("Consultar médicos pro esp.", "pi pi-search", "/medicaltest/MedicalTests", null));
subMenu.addElement(new DefaultSeparator());
subMenu.addElement(createMenuItem("Listar médicos", "pi pi-list", "/medicaltest/MedicalTests", null));
if (tipoUsuario == UserType.SPECIALIST_DOCTOR) {
subMenu.addElement(new DefaultSeparator());
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);
}
// Preguntas
// TODO: mostrar este menú solo si el usuario es paciente o medico
if (1 == 1) {
// Preguntas médicas
if (tipoUsuario == UserType.PATIENT || tipoUsuario == UserType.FAMILY_DOCTOR) {
subMenu = new DefaultSubMenu("Preguntas", "pi pi-clone");
// TODO: Si es paciente puede preguntar
if (true == true)
subMenu.addElement(createMenuItem("Añadir pregunta", "pi pi-clone", "/medicaltest/MedicalTests", null));
// TODO: Si es medico de familia puede responder
if (true == true)
if (tipoUsuario == UserType.PATIENT)
subMenu.addElement(createMenuItem("Hacer pregunta", "pi pi-clone", "/medicaltest/MedicalTests", null));
if (tipoUsuario == UserType.FAMILY_DOCTOR)
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);
}
}
@@ -93,23 +117,26 @@ public class MenuMBean implements Serializable {
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 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 médico", "pi pi-user-plus", "/profile/AddSpecialistDoctor", null));
subMenu.addElement(new DefaultSeparator());
} else {
subMenu.addElement(createMenuItem("Registro de especialista", "pi pi-user-plus", "/profile/AddSpecialistDoctor", null));
subMenu.addElement(createMenuItem("Actualizar mi perfil", "pi pi-user-edit", "/profile/UpdateProfile", null));
subMenu.addElement(new DefaultSeparator());
// TODO: mostrar este menú solo si el usuario es paciente
if (true == true) {
subMenu.addElement(createMenuItem("Cambiar médico de familia", "pi pi-chevron-circle-right", "/profile/ChangeFamilyDoctor", 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());
if (tipoUsuario == UserType.PATIENT) {
subMenu.addElement(createMenuItem("Cambiar médico de familia", "pi pi-chevron-circle-right", "/profile/ChangeFamilyDoctor", null));
subMenu.addElement(new DefaultSeparator());
}
if (tipoUsuario == UserType.FAMILY_DOCTOR) {
subMenu.addElement(createMenuItem("Cambiar CAP", "fa fa-h-square", "/profile/ChangePrimaryHealthCareCenter", null));
}
model.addElement(subMenu);
}
// TODO: mostrar este menú solo si el usuario es médico de familia
if (true == true)
subMenu.addElement(createMenuItem("Cambiar CAP", "fa fa-h-square", "/profile/ChangePrimaryHealthCareCenter", null));
}
model.addElement(subMenu);
}
private DefaultMenuItem createMenuItem(String name, String icon, String outcome, String command) {