Menu dinámico en función de si el usuario está logeado o no.
This commit is contained in:
@@ -42,21 +42,7 @@ public class PrimaryHealthCareCenterTO implements Serializable {
|
||||
public void setLocation(String description) {
|
||||
this.location = description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
return (other instanceof PrimaryHealthCareCenterTO) && (name != null)
|
||||
? name.equals(((PrimaryHealthCareCenterTO) other).getName())
|
||||
: (other == this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return (name != null)
|
||||
? (this.getClass().hashCode() + name.hashCode())
|
||||
: super.hashCode();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format("%s[name=%s]", getClass().getSimpleName(), getName());
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package managedbean.common;
|
||||
|
||||
import java.awt.MenuItem;
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
@@ -10,49 +11,115 @@ import javax.inject.Named;
|
||||
|
||||
import org.primefaces.model.menu.DefaultMenuItem;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Marcos García Núñez (mgarcianun@uoc.edu)
|
||||
*
|
||||
*/
|
||||
@Named("menuView")
|
||||
@RequestScoped
|
||||
public class MenuMBean implements Serializable {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private MenuModel model;
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
model = new DefaultMenuModel();
|
||||
DefaultMenuItem item;
|
||||
DefaultSubMenu subMenu;
|
||||
|
||||
// First submenu
|
||||
DefaultSubMenu firstSubmenu = new DefaultSubMenu("Dynamic submenu");
|
||||
DefaultMenuItem item = new DefaultMenuItem("External", "", "www.google.com");
|
||||
// item.setUrl("www.google.com");
|
||||
firstSubmenu.getElements().add(item);
|
||||
model.addElement(createMenuItem("Home", "pi pi-home", "home", null));
|
||||
|
||||
model.getElements().add(firstSubmenu);
|
||||
if (SessionUtils.isLogedIn() == true) {
|
||||
|
||||
// Second submenu
|
||||
DefaultSubMenu secondSubmenu = new DefaultSubMenu("Dynamic Actions");
|
||||
// Administracion Sistema
|
||||
// TODO: mostrar este menú solo si el usuario es administrador
|
||||
if (1 == 1) {
|
||||
subMenu = new DefaultSubMenu("Administración del sistema", "pi pi-settings");
|
||||
subMenu.addElement(createMenuItem("Esp. médicas", "pi pi-calendar", "ManageMedicalSpecialties", null));
|
||||
subMenu.addElement(createMenuItem("Centros At. Primaria", "pi pi-briefcase", "ManageCAPs", null));
|
||||
subMenu.addElement(new DefaultSeparator());
|
||||
subMenu.addElement(createMenuItem("Añadir usuario Admin", "pi pi-calendar", "AddUserAdmin", null));
|
||||
model.addElement(subMenu);
|
||||
}
|
||||
|
||||
item = new DefaultMenuItem("Save", "pi pi-save");
|
||||
item.setCommand("#{menuView.save}");
|
||||
item.setUpdate("messages");
|
||||
secondSubmenu.getElements().add(item);
|
||||
// Visitas
|
||||
// TODO: mostrar este menú solo si el usuario es paciente
|
||||
if (1 == 1) {
|
||||
subMenu = new DefaultSubMenu("Visitas", "pi pi-calendar");
|
||||
subMenu.addElement(createMenuItem("Agendar", "pi pi-calendar", "ScheduleVisit", null));
|
||||
subMenu.addElement(createMenuItem("Consultar", "pi pi-briefcase", "QueryVisit", null));
|
||||
model.addElement(subMenu);
|
||||
}
|
||||
|
||||
item = new DefaultMenuItem("Delete", "pi pi-times");
|
||||
item.setCommand("#{menuView.delete}");
|
||||
item.setAjax(false);
|
||||
secondSubmenu.getElements().add(item);
|
||||
// Pruebas médicas
|
||||
// TODO: mostrar este menú solo si el usuario es medico // etc...
|
||||
if (1 == 1) {
|
||||
|
||||
item = new DefaultMenuItem("Redirect", "pi pi-search");
|
||||
item.setCommand("#{menuView.redirect}");
|
||||
secondSubmenu.getElements().add(item);
|
||||
subMenu = new DefaultSubMenu("Pruebas Medicas", "pi pi-clone");
|
||||
subMenu.addElement(createMenuItem("Añadir", "pi pi-clone", "AddMedicalTest", null));
|
||||
subMenu.addElement(createMenuItem("Gestionar", "pi pi-briefcase", "MedicaltestManage", null));
|
||||
subMenu.addElement(new DefaultSeparator());
|
||||
subMenu.addElement(createMenuItem("Consultar médicos pro esp.", "pi pi-search", "QueryDoctorBySpecialty", null));
|
||||
subMenu.addElement(new DefaultSeparator());
|
||||
subMenu.addElement(createMenuItem("Listar médicos", "pi pi-list", "ListDoctorsbySpecialty", null));
|
||||
model.addElement(subMenu);
|
||||
}
|
||||
|
||||
model.getElements().add(secondSubmenu);
|
||||
// Preguntas
|
||||
// TODO: mostrar este menú solo si el usuario es paciente o medico
|
||||
if (1 == 1) {
|
||||
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", "AskQuestion", null));
|
||||
// TODO: Si es medico de familia puede responder
|
||||
if (true == true)
|
||||
subMenu.addElement(createMenuItem("Responder pregunta", "pi pi-question", "AnswerQuestion", null));
|
||||
|
||||
model.addElement(subMenu);
|
||||
}
|
||||
}
|
||||
|
||||
// Perfil
|
||||
subMenu = new DefaultSubMenu("Gestionar perfil", "pi pi-id-card");
|
||||
if (SessionUtils.isLogedIn() == false) {
|
||||
subMenu.addElement(createMenuItem("Registro de usuario", "pi pi-id-card", "RegisterUser", null));
|
||||
subMenu.addElement(createMenuItem("Registro de paciente", "pi pi-id-card", "AddPatient", null));
|
||||
subMenu.addElement(createMenuItem("Registro de médico", "pi pi-id-card", "AddFamilyDoctor", null));
|
||||
subMenu.addElement(createMenuItem("Registro de especialista", "pi pi-id-card", "AddFamilyDoctor", null));
|
||||
subMenu.addElement(createMenuItem("Registro de médico", "pi pi-id-card", "AddSpecialistDoctor", null));
|
||||
subMenu.addElement(new DefaultSeparator());
|
||||
} else {
|
||||
|
||||
subMenu.addElement(createMenuItem("Actualizar mi perfil", "pi pi-search", "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-search", "ChangeFamilyDoctor", null));
|
||||
subMenu.addElement(new DefaultSeparator());
|
||||
}
|
||||
// TODO: mostrar este menú solo si el usuario es médico de familia
|
||||
if (true == true)
|
||||
subMenu.addElement(createMenuItem("Cambiar centro de atención", "pi pi-search", "changecap", null));
|
||||
}
|
||||
model.addElement(subMenu);
|
||||
}
|
||||
|
||||
private DefaultMenuItem createMenuItem(String name, String icon, String outcome, String command) {
|
||||
DefaultMenuItem item = new DefaultMenuItem(name, icon);
|
||||
if (outcome != null)
|
||||
item.setOutcome(outcome);
|
||||
if (command != null)
|
||||
item.setCommand(command);
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
public MenuModel getModel() {
|
||||
|
||||
@@ -3,7 +3,6 @@ package managedbean.systemAdmin;
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.faces.application.FacesMessage;
|
||||
import javax.faces.context.FacesContext;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
@@ -35,16 +34,25 @@ public class LoginMBean {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public void login() {
|
||||
public String login() {
|
||||
FacesMessage message = null;
|
||||
boolean loggedIn = false;
|
||||
|
||||
try {
|
||||
Thread.sleep(2000);
|
||||
} catch (InterruptedException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if (username != null && username.equals("admin") && password != null && password.equals("admin")) {
|
||||
loggedIn = true;
|
||||
HttpSession session = SessionUtils.getSession();
|
||||
session.setAttribute("username", username);
|
||||
session.setAttribute("userid", "1");
|
||||
message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Bienvenido", username);
|
||||
|
||||
return ("home");
|
||||
} else {
|
||||
loggedIn = false;
|
||||
message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Loggin Error", "El usuario o la contraseña son incorrectos");
|
||||
@@ -52,6 +60,8 @@ public class LoginMBean {
|
||||
|
||||
FacesContext.getCurrentInstance().addMessage(null, message);
|
||||
PrimeFaces.current().ajax().addCallbackParam("loggedIn", loggedIn);
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
// logout event, invalidate session
|
||||
|
||||
Reference in New Issue
Block a user