[gatein-commits] gatein SVN: r2517 - portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/toolbar/webui/component.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Apr 7 04:24:03 EDT 2010


Author: thomas.heute at jboss.com
Date: 2010-04-07 04:24:02 -0400 (Wed, 07 Apr 2010)
New Revision: 2517

Modified:
   portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/toolbar/webui/component/UIAdminToolbarPortlet.java
Log:
JBEPP-289: 'EditPage' link is not showed while loging in with non-empty path node in private mode


Modified: portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/toolbar/webui/component/UIAdminToolbarPortlet.java
===================================================================
--- portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/toolbar/webui/component/UIAdminToolbarPortlet.java	2010-04-07 08:07:44 UTC (rev 2516)
+++ portal/branches/EPP_5_0_Branch/portlet/exoadmin/src/main/java/org/exoplatform/toolbar/webui/component/UIAdminToolbarPortlet.java	2010-04-07 08:24:02 UTC (rev 2517)
@@ -19,8 +19,11 @@
 
 package org.exoplatform.toolbar.webui.component;
 
+import org.exoplatform.portal.config.DataStorage;
 import org.exoplatform.portal.config.UserACL;
+import org.exoplatform.portal.config.model.Page;
 import org.exoplatform.portal.config.model.PageNavigation;
+import org.exoplatform.portal.config.model.PageNode;
 import org.exoplatform.portal.config.model.PortalConfig;
 import org.exoplatform.portal.webui.page.UIPage;
 import org.exoplatform.portal.webui.page.UIPageBody;
@@ -48,15 +51,6 @@
    public PageNavigation getSelectedNavigation() throws Exception
    {
       return Util.getUIPortal().getSelectedNavigation();
-      
-      /*
-      PageNavigation nav = Util.getUIPortal().getSelectedNavigation();
-      if (nav != null)
-         return nav;
-      if (Util.getUIPortal().getNavigations().size() < 1)
-         return null;
-      return Util.getUIPortal().getNavigations().get(0);
-      */
    }
 
    @Override
@@ -100,16 +94,34 @@
       UIWorkingWorkspace uiWorkingWS = portalApp.getChildById(UIPortalApplication.UI_WORKING_WS_ID);
       UIPageBody pageBody = uiWorkingWS.findFirstComponentOfType(UIPageBody.class);
       UIPage uiPage = (UIPage)pageBody.getUIComponent();
+      UserACL userACL = portalApp.getApplicationComponent(UserACL.class);
 
-      if (uiPage == null)
+      if(uiPage != null)
       {
-         return false;
+         return userACL.hasEditPermissionOnPage(uiPage.getOwnerType(), uiPage.getOwnerId(), uiPage.getEditPermission());
       }
       else
       {
-         UserACL userACL = portalApp.getApplicationComponent(UserACL.class);
-         return userACL.hasEditPermissionOnPage(uiPage.getOwnerType(), uiPage.getOwnerId(), uiPage.getEditPermission());
+         UIPortal currentUIPortal = portalApp.<UIWorkingWorkspace>findComponentById(UIPortalApplication.UI_WORKING_WS_ID).findFirstComponentOfType(UIPortal.class);
+         PageNode currentNode = currentUIPortal.getSelectedNode();
+         String pageReference = currentNode.getPageReference();
+         if(pageReference == null)
+         {
+            return false;
+         }
+         else
+         {
+            DataStorage dataStorage = portalApp.getApplicationComponent(DataStorage.class);
+            Page page = dataStorage.getPage(pageReference);
+            if(page == null)
+            {
+               return false;
+            }
+            else
+            {
+               return userACL.hasEditPermission(page);
+            }
+         }
       }
    }
-
 }



More information about the gatein-commits mailing list