diff --git a/1.sources/MyHealth/docroot/error.xhtml b/1.sources/MyHealth/docroot/error.xhtml
index 374adb2..e961f1d 100644
--- a/1.sources/MyHealth/docroot/error.xhtml
+++ b/1.sources/MyHealth/docroot/error.xhtml
@@ -10,22 +10,29 @@
-
+
+
+
+
+
La acción que estaba realizando a causado un error inesperado en el sistema. A continuación podrá ver un descripción detallada del error para que
pueda comunicarlo al equipo de soporte.
-
Descripción del error
+
+
+
+
-
-
diff --git a/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java b/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java
index 95c971b..945a532 100644
--- a/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java
+++ b/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java
@@ -6,6 +6,7 @@ import java.util.ArrayList;
import java.util.Dictionary;
import java.util.List;
+import javax.faces.application.FacesMessage;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -129,7 +130,8 @@ public class AuthorizationFilter implements Filter {
chain.doFilter(request, response);
return;
} else {
- resp.sendRedirect(req.getContextPath() + "/error.xhtml");
+ SessionUtils.addMessage(ses, FacesMessage.SEVERITY_ERROR, "No está autorizado a acceder a la página solicitada. Por favor, utilice el menú principal de la aplicación.", String.format("Se ha producido una expción de autorización, su usuario no está autorizado a acceder a la página: (%s).", reqURI));
+ resp.sendRedirect(req.getContextPath() + "/error.xhtml?type=auth");
return;
}
diff --git a/1.sources/MyHealth/src/managedbean/common/ManagedBeanBase.java b/1.sources/MyHealth/src/managedbean/common/ManagedBeanBase.java
index c9d4fb7..1e742e3 100644
--- a/1.sources/MyHealth/src/managedbean/common/ManagedBeanBase.java
+++ b/1.sources/MyHealth/src/managedbean/common/ManagedBeanBase.java
@@ -105,7 +105,15 @@ public class ManagedBeanBase {
}
protected void addFacesMessage(FacesContext context, FacesMessage.Severity severity, String summary, String detail) {
- context.addMessage(null, new FacesMessage(severity, summary, detail));
+ this.addFacesMessage(context, new FacesMessage(severity, summary, detail));
+ }
+
+ protected void addFacesMessage(FacesMessage facesMsg) {
+ this.addFacesMessage(FacesContext.getCurrentInstance(), facesMsg);
+ }
+
+ protected void addFacesMessage(FacesContext context, FacesMessage facesMsg) {
+ context.addMessage(null, facesMsg);
}
protected void manageException(Exception ex) {
diff --git a/1.sources/MyHealth/src/managedbean/common/SessionUtils.java b/1.sources/MyHealth/src/managedbean/common/SessionUtils.java
index 2b3bb97..0aa178f 100644
--- a/1.sources/MyHealth/src/managedbean/common/SessionUtils.java
+++ b/1.sources/MyHealth/src/managedbean/common/SessionUtils.java
@@ -1,6 +1,7 @@
package managedbean.common;
+import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
@@ -14,6 +15,7 @@ public class SessionUtils {
public static final String SESSION_VAR_USERID = "userId";
public static final String SESSION_VAR_USERTYPE = "userType";
public static final String SESSION_VAR_USER = "loggedOnUser";
+ public static final String SESSION_VAR_MESSAGE = "facesMessage";
public static HttpSession getSession() {
FacesContext ctx = FacesContext.getCurrentInstance();
@@ -47,7 +49,7 @@ public class SessionUtils {
public static boolean isLogedIn() {
return isLogedIn(getSession());
}
-
+
public static boolean isLogedIn(HttpSession session) {
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USERID) != null)
return true;
@@ -73,15 +75,15 @@ public class SessionUtils {
public static UserType getUserType() {
return getUserType(getSession());
- }
-
+ }
+
public static UserType getUserType(HttpSession session) {
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() {
HttpSession session = getSession();
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USER) != null)
@@ -89,4 +91,24 @@ public class SessionUtils {
else
return null;
}
+
+ public static FacesMessage getMessage() {
+ HttpSession session = getSession();
+ if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_MESSAGE) != null) {
+ FacesMessage msg = FacesMessage.class.cast(session.getAttribute(SessionUtils.SESSION_VAR_MESSAGE));
+ session.removeAttribute(SessionUtils.SESSION_VAR_MESSAGE);
+ return msg;
+ } else
+ return null;
+ }
+
+ public static void addMessage(FacesMessage.Severity severity, String summary, String detail) {
+ addMessage(getSession(), severity, summary, detail);
+ }
+
+ public static void addMessage(HttpSession session, FacesMessage.Severity severity, String summary, String detail) {
+ if (session != null)
+ session.setAttribute(SessionUtils.SESSION_VAR_MESSAGE, new FacesMessage(severity, summary, detail));
+ }
+
}
diff --git a/1.sources/MyHealth/src/managedbean/common/homeMBean.java b/1.sources/MyHealth/src/managedbean/common/homeMBean.java
index 4d1dcdc..9e3edcc 100644
--- a/1.sources/MyHealth/src/managedbean/common/homeMBean.java
+++ b/1.sources/MyHealth/src/managedbean/common/homeMBean.java
@@ -5,6 +5,7 @@ import java.util.List;
import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped;
+import javax.faces.application.FacesMessage;
import javax.inject.Named;
import common.UserType;
@@ -16,7 +17,7 @@ import common.UserType;
*/
@Named("home")
@RequestScoped
-public class homeMBean implements Serializable {
+public class homeMBean extends ManagedBeanBase implements Serializable {
private static final long serialVersionUID = 1L;
private boolean isLogedIn;
@@ -31,6 +32,12 @@ public class homeMBean implements Serializable {
userName = SessionUtils.getUserName();
userId = SessionUtils.getUserId();
userType = SessionUtils.getUserType();
+
+ FacesMessage message = SessionUtils.getMessage();
+
+ if (message != null) {
+ this.addFacesMessage(message);
+ }
}
public List getThemes() {