Incluido selector de tema de primefaces en pagina de bienvenida (home).

* El tema seleccionado se conserva durante la sesión.
* Ya se muestran los iconos de primefaces para el tema seleccionado.
This commit is contained in:
mgarcianun
2019-11-28 19:19:57 +01:00
parent 8fcc5d7697
commit c460c6125c
10 changed files with 69 additions and 40 deletions

View File

@@ -1,26 +0,0 @@
package managedbean.common;
import java.io.Serializable;
import javax.annotation.ManagedBean;
import javax.enterprise.context.SessionScoped;
@ManagedBean
@SessionScoped
public class CurrentTheme implements Serializable {
private Theme currentTheme;
public CurrentTheme() {
}
public Theme getCurrentTheme() {
return currentTheme;
}
public void setCurrentTheme(Theme currentTheme) {
this.currentTheme = currentTheme;
}
}

View File

@@ -0,0 +1,40 @@
package managedbean.common;
import java.io.Serializable;
import javax.annotation.ManagedBean;
import javax.enterprise.context.SessionScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;
@ManagedBean
@Named("sessionPreferences")
@SessionScoped
public class SessionPreferences implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String currentTheme = "pepper-grinder";
public SessionPreferences() {
}
public String getCurrentTheme() {
return currentTheme;
}
public void setCurrentTheme(String themeName) {
this.currentTheme = themeName;
}
public void updateCurrentTheme() {
// TODO: Se podría guardar el tema seleccionado en base de datos para el usuario
// (en caso de que esté logeado en el sistema
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_INFO, "Tema guardado", "El tema seleccionado será utilizado durante esta sesión."));
}
}

View File

@@ -5,6 +5,8 @@ import java.util.List;
import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;

View File

@@ -3,6 +3,8 @@ package managedbean.profile;
import java.util.Properties;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;
import javax.naming.Context;
import javax.naming.InitialContext;
@@ -30,4 +32,11 @@ public class ProfileMBeanBase {
remoteManager = (ProfileFacadeRemote) ctx.lookup("java:app/MyHealth.jar/ProfileFacadeBean!ejb.profile.ProfileFacadeRemote");
}
protected void addFacesMessage(FacesMessage.Severity severity, String summary, String detail) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, summary, detail));
}
protected void manageException(Exception ex) {
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Se ha producido un error inesperado", "Descripción del error: " + ex.getLocalizedMessage());
}
}

View File

@@ -193,14 +193,6 @@ public class RegisterUserMBean extends ProfileMBeanBase implements Serializable
// FacesContext.getCurrentInstance().addMessage(null, msg);
}
private void addFacesMessage(FacesMessage.Severity severity, String summary, String detail) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, summary, detail));
}
private void manageException(Exception ex) {
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Se ha producido un error inesperado", "Descripción del error: " + ex.getLocalizedMessage());
}
public String getPasswordRepeat() {
return passwordRepeat;
}

View File

@@ -58,6 +58,6 @@ public class LoginMBean {
public String logout() {
HttpSession session = SessionUtils.getSession();
session.invalidate();
return "home";
return "home?refresh=1&faces-redirect=true";
}
}