diff --git a/zanata-war/src/main/java/org/zanata/security/AuthenticationManager.java b/zanata-war/src/main/java/org/zanata/security/AuthenticationManager.java index 6529b090b3..37188eea4a 100644 --- a/zanata-war/src/main/java/org/zanata/security/AuthenticationManager.java +++ b/zanata-war/src/main/java/org/zanata/security/AuthenticationManager.java @@ -246,9 +246,12 @@ else if(identity.isPreAuthenticated() && isNewUser()) } else if (identity.isLoggedIn()) { - if (userRedirect != null && userRedirect.isRedirect()) + if (userRedirect != null) { - return "redirect"; + if(userRedirect.isRedirect() && !userRedirect.isRedirectToHome()) + { + return "redirect"; + } } return "dashboard"; } diff --git a/zanata-war/src/main/java/org/zanata/security/UserRedirectBean.java b/zanata-war/src/main/java/org/zanata/security/UserRedirectBean.java index d39a0f7d56..072db6eeb1 100644 --- a/zanata-war/src/main/java/org/zanata/security/UserRedirectBean.java +++ b/zanata-war/src/main/java/org/zanata/security/UserRedirectBean.java @@ -52,7 +52,6 @@ public class UserRedirectBean implements Serializable { private static final String HOME_URL = "/"; private static final String ERROR_URL = "/error"; - private static final String DASHBOARD_HOME_URL = "/dashboard/home.xhtml"; /** * @@ -177,13 +176,23 @@ public boolean isRedirect() return url != null && !url.isEmpty(); } - public void redirectToDashboard() + public boolean isRedirectToHome() { - if (Identity.instance().isLoggedIn()) + if (isRedirect()) { - Redirect redirect = Redirect.instance(); - redirect.setViewId(DASHBOARD_HOME_URL); - redirect.execute(); + String url = getUrl(); + int qsIndex = url.indexOf('?'); + if (qsIndex > 0) + { + url = url.substring(0, qsIndex); + } + + if (url.endsWith(HOME_URL)) + { + return true; + } + } + return false; } } diff --git a/zanata-war/src/main/webapp/WEB-INF/pages.xml b/zanata-war/src/main/webapp/WEB-INF/pages.xml index b2eeb5c4e9..392361c9b0 100644 --- a/zanata-war/src/main/webapp/WEB-INF/pages.xml +++ b/zanata-war/src/main/webapp/WEB-INF/pages.xml @@ -12,31 +12,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - @@ -61,8 +36,30 @@ + + + + + + + + + + + + + + + + + + + + + + - +
@@ -90,7 +87,7 @@ - +
@@ -104,7 +101,7 @@ - + diff --git a/zanata-war/src/main/webapp/WEB-INF/template/banner.xhtml b/zanata-war/src/main/webapp/WEB-INF/template/banner.xhtml index 50a63bb743..f63fe12440 100644 --- a/zanata-war/src/main/webapp/WEB-INF/template/banner.xhtml +++ b/zanata-war/src/main/webapp/WEB-INF/template/banner.xhtml @@ -48,6 +48,11 @@