From 5267db0c1e60162e5fe3560aaa64120a23610f59 Mon Sep 17 00:00:00 2001 From: Viliam Repan Date: Sun, 13 Mar 2016 13:04:35 -0400 Subject: [PATCH] breadcrumbs error pages handling improved, not finished yet --- .../midpoint/gui/api/page/PageBase.html | 2 +- .../breadcrumbs/BreadcrumbPageClass.java | 12 ++----- .../midpoint/web/page/error/PageError.html | 1 + .../midpoint/web/page/error/PageError.java | 31 +++++++++++++++---- .../localization/Midpoint.properties | 3 +- .../localization/Midpoint_en_US.properties | 2 +- 6 files changed, 32 insertions(+), 19 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.html index 8c11a077e69..d75c7106d62 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.html @@ -131,7 +131,7 @@ - + diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/breadcrumbs/BreadcrumbPageClass.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/breadcrumbs/BreadcrumbPageClass.java index fdb6e7be42b..9c25844f0bc 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/breadcrumbs/BreadcrumbPageClass.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/breadcrumbs/BreadcrumbPageClass.java @@ -32,16 +32,6 @@ public class BreadcrumbPageClass extends Breadcrumb { private Class page; private PageParameters parameters; - public BreadcrumbPageClass(IModel label) { - super(label); - - setUseLink(true); - } - - public BreadcrumbPageClass(IModel label, Class page) { - this(label, page, null); - } - public BreadcrumbPageClass(IModel label, Class page, PageParameters parameters) { super(label); @@ -49,6 +39,8 @@ public BreadcrumbPageClass(IModel label, Class page, this.page = page; this.parameters = parameters; + + setUseLink(true); } public Class getPage() { diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/error/PageError.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/error/PageError.html index 7f8898e7517..e9cf3bac97b 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/error/PageError.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/error/PageError.html @@ -33,6 +33,7 @@

diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/error/PageError.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/error/PageError.java index 3baab43fece..6d32e0af4e7 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/error/PageError.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/error/PageError.java @@ -26,6 +26,7 @@ import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour; import com.evolveum.midpoint.web.page.admin.home.PageDashboard; import com.evolveum.midpoint.web.page.self.PageSelfDashboard; +import com.evolveum.midpoint.web.session.SessionStorage; import org.apache.commons.lang.StringUtils; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.basic.Label; @@ -49,6 +50,7 @@ public class PageError extends PageBase { private static final String ID_LABEL = "label"; private static final String ID_MESSAGE = "message"; private static final String ID_BACK = "back"; + private static final String ID_HOME = "home"; private static final Trace LOGGER = TraceManager.getTrace(PageError.class); @@ -123,15 +125,19 @@ public boolean isVisible() { @Override public void onClick(AjaxRequestTarget target) { - if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_DASHBOARD_URL, - AuthorizationConstants.AUTZ_UI_HOME_ALL_URL)) { - setResponsePage(PageDashboard.class); - } else { - setResponsePage(PageSelfDashboard.class); - } + backPerformed(target); } }; add(back); + + AjaxButton home = new AjaxButton(ID_HOME, createStringResource("PageError.button.home")) { + + @Override + public void onClick(AjaxRequestTarget target) { + homePerformed(target); + } + }; + add(home); } private int getCode() { @@ -154,4 +160,17 @@ public boolean isVersioned() { public boolean isErrorPage() { return true; } + + private void homePerformed(AjaxRequestTarget target) { + if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_DASHBOARD_URL, + AuthorizationConstants.AUTZ_UI_HOME_ALL_URL)) { + setResponsePage(PageDashboard.class); + } else { + setResponsePage(PageSelfDashboard.class); + } + } + + private void backPerformed(AjaxRequestTarget target) { + redirectBack(); + } } diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint.properties b/gui/admin-gui/src/main/resources/localization/Midpoint.properties index 06fdc73be20..e9783ac7b1a 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint.properties @@ -1562,7 +1562,7 @@ pageDebugView.validateSchema=Validate schema PageError403.title=Forbidden (403) PageError404.title=Not found (404) PageError401.title=Unauthorized (401) -PageError.button.back=Back to dashboard +PageError.button.back=Back PageError.message=Unexpected error occurred, if necessary please contact system administrator. PageError.title=Internal error (500) PageFindUsers.title=Find users @@ -2986,3 +2986,4 @@ operation.com.evolveum.midpoint.model.impl.lens.ChangeExecutor.execute.focus.Use operation.com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta=Execute delta (Model) operation.com.evolveum.midpoint.task.api.Task.listSubtasksDeeply=List subtasts deeply (Task) operation.com.evolveum.midpoint.task.api.Task.listSubtasksRaw=List subtasks raw (Task) +PageError.button.home=Home \ No newline at end of file diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_en_US.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_en_US.properties index 79cec41a55d..dc1d0ba87b9 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_en_US.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_en_US.properties @@ -1532,7 +1532,7 @@ pageDebugView.validateSchema=Validate schema PageError403.title=Forbidden (403) PageError404.title=Not found (404) PageError401.title=Unauthorized (401) -PageError.button.back=Back to dashboard +PageError.button.back=Back PageError.message=Unexpected error occurred, if necessary please contact system administrator. PageError.title=Internal error (500) PageFindUsers.title=Find users