From 78196e100587f231c6ecc32c6c5bcbfa91aa7527 Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Fri, 1 Sep 2006 17:45:51 +0000 Subject: [PATCH] . Fix to JbossPortal case to handle web-client startup changes from last checkin - Guest and others can correctly navigate to MyAlfresco on login git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3655 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../web/app/portlet/AlfrescoFacesPortlet.java | 16 +++++++++++++++- .../org/alfresco/web/bean/NavigationBean.java | 9 +++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/source/java/org/alfresco/web/app/portlet/AlfrescoFacesPortlet.java b/source/java/org/alfresco/web/app/portlet/AlfrescoFacesPortlet.java index afc5984f07..2130a849dd 100644 --- a/source/java/org/alfresco/web/app/portlet/AlfrescoFacesPortlet.java +++ b/source/java/org/alfresco/web/app/portlet/AlfrescoFacesPortlet.java @@ -33,6 +33,7 @@ import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import javax.portlet.UnavailableException; +import org.alfresco.config.ConfigService; import org.alfresco.i18n.I18NUtil; import org.alfresco.repo.security.authentication.AuthenticationException; import org.alfresco.service.cmr.security.AuthenticationService; @@ -43,7 +44,9 @@ import org.alfresco.web.app.servlet.AuthenticationStatus; import org.alfresco.web.bean.ErrorBean; import org.alfresco.web.bean.FileUploadBean; import org.alfresco.web.bean.LoginBean; +import org.alfresco.web.bean.NavigationBean; import org.alfresco.web.bean.repository.User; +import org.alfresco.web.config.ClientConfigElement; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.portlet.PortletFileUpload; @@ -259,7 +262,18 @@ public class AlfrescoFacesPortlet extends MyFacesGenericPortlet // perform the forward to the page processed by the Faces servlet response.setContentType("text/html"); request.getPortletSession().setAttribute(PortletUtil.PORTLET_REQUEST_FLAG, "true"); - nonFacesRequest(request, response, "/jsp/browse/browse.jsp"); + + // get the start location as configured by the web-client config + ConfigService configService = (ConfigService)ctx.getBean("webClientConfigService"); + ClientConfigElement configElement = (ClientConfigElement)configService.getGlobalConfig().getConfigElement("client"); + if (NavigationBean.LOCATION_MYALFRESCO.equals(configElement.getInitialLocation())) + { + nonFacesRequest(request, response, "/jsp/dashboards/container.jsp"); + } + else + { + nonFacesRequest(request, response, "/jsp/browse/browse.jsp"); + } } else { diff --git a/source/java/org/alfresco/web/bean/NavigationBean.java b/source/java/org/alfresco/web/bean/NavigationBean.java index e536007f83..8f13f9e018 100644 --- a/source/java/org/alfresco/web/bean/NavigationBean.java +++ b/source/java/org/alfresco/web/bean/NavigationBean.java @@ -260,6 +260,15 @@ public class NavigationBean } else if (LOCATION_MYALFRESCO.equals(location)) { + // make sure we set a current node ID as some screens expect this + if (getCurrentNodeId() == null) + { + String homeSpaceId = Application.getCurrentUser(context).getHomeSpaceId(); + NodeRef homeSpaceRef = new NodeRef(Repository.getStoreRef(), homeSpaceId); + setCurrentNodeId(homeSpaceRef.getId()); + } + + // create a breadcrumb handler for this special case location (not a node) List elements = new ArrayList(1); elements.add(new IBreadcrumbHandler() {