From de284a421c211aa315ea65b60a82d8cc463e5fb7 Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Tue, 3 Jun 2014 13:03:27 +0000 Subject: [PATCH] Added getBaseLayout method for Organizations git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portal/custom-portal-handler@96391 82a268e6-3cf1-43bd-a215-b396298e98cf --- distro/changelog.xml | 4 ++ pom.xml | 2 +- .../impl/OrganizationManagerImpl.java | 43 +++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/distro/changelog.xml b/distro/changelog.xml index 213b45c..fbb8259 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -18,4 +18,8 @@ date="2014-04-02"> Added getAdministratorUsername method in ScopeHelper + + Added getBaseLayout method for Organizations + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0eff1ee..ed0067c 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.gcube.portal custom-portal-handler - 1.5.0-SNAPSHOT + 1.6.0-SNAPSHOT jar Custom Portal Handler diff --git a/src/main/java/org/gcube/portal/custom/communitymanager/impl/OrganizationManagerImpl.java b/src/main/java/org/gcube/portal/custom/communitymanager/impl/OrganizationManagerImpl.java index 21aa279..ff04b9a 100644 --- a/src/main/java/org/gcube/portal/custom/communitymanager/impl/OrganizationManagerImpl.java +++ b/src/main/java/org/gcube/portal/custom/communitymanager/impl/OrganizationManagerImpl.java @@ -10,7 +10,11 @@ import java.io.InputStream; import org.gcube.application.framework.core.session.ASLSession; import org.gcube.portal.custom.communitymanager.OrganizationManager; import org.gcube.portal.custom.communitymanager.OrganizationsUtil; +import org.gcube.portal.custom.communitymanager.PortletsIdManager; +import org.gcube.portal.custom.communitymanager.components.GCUBELayoutTab; +import org.gcube.portal.custom.communitymanager.components.GCUBEPortlet; import org.gcube.portal.custom.communitymanager.components.GCUBESiteLayout; +import org.gcube.portal.custom.communitymanager.types.GCUBELayoutType; import org.gcube.vomanagement.usermanagement.GroupManager; import org.gcube.vomanagement.usermanagement.RoleManager; import org.gcube.vomanagement.usermanagement.UserManager; @@ -19,6 +23,8 @@ import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayRoleManager; import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayUserManager; import org.gcube.vomanagement.usermanagement.model.GroupModel; +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.model.Group; @@ -200,6 +206,43 @@ public class OrganizationManagerImpl extends OrganizationsUtil implements Organi _log.info("Created" + voName + " with id " + voToCreate.getOrganizationId()); return voToCreate.getOrganizationId(); } + + /** + * + * @return the built layout of a rootVO + * @throws SystemException . + * @throws PortalException . + */ + public GCUBESiteLayout getBaseLayout(String voName, OrganizationManagerImpl orgManager, boolean isVO, String username) throws PortalException, SystemException { + GCUBESiteLayout siteLayout = null; + String email = validateUser(username).getEmailAddress(); + siteLayout = new GCUBESiteLayout(OrganizationManagerImpl.getCompany(), voName, email); + siteLayout.addTab(new GCUBELayoutTab(voName, GCUBELayoutType.ONE_COL, + new GCUBEPortlet("gCube Loggedin", PortletsIdManager.getLRPortletId(PortletsIdManager.GCUBE_LOGGEDIN)))); + + //create tab Users and Roles with 2 subtabs + GCUBELayoutTab usersAndRoles = new GCUBELayoutTab("Administration", GCUBELayoutType.ONE_COL, + new GCUBEPortlet("Navigation", PortletsIdManager.getLRPortletId(PortletsIdManager.LR_NAVIGATION))); + GCUBELayoutTab usersTab = new GCUBELayoutTab("Manage User and Requests", GCUBELayoutType.ONE_COL, + new GCUBEPortlet("Users", PortletsIdManager.getLRPortletId(PortletsIdManager.GCUBE_USERS_MANAGE))); + GCUBELayoutTab usersAddTab = new GCUBELayoutTab("Add new Users", GCUBELayoutType.ONE_COL, + new GCUBEPortlet("Users", PortletsIdManager.getLRPortletId(PortletsIdManager.GCUBE_ADD_USERS_MANAGE))); + GCUBELayoutTab rolesTab = new GCUBELayoutTab("Add new Roles", GCUBELayoutType.ONE_COL, + new GCUBEPortlet("Roles", PortletsIdManager.getLRPortletId(PortletsIdManager.GCUBE_ROLES_MANAGE))); + usersAndRoles.addSubTab(usersTab); + usersAndRoles.addSubTab(usersAddTab); + usersAndRoles.addSubTab(rolesTab); + //add the tab + siteLayout.addTab(usersAndRoles); + if (isVO) + siteLayout.addTab(new GCUBELayoutTab("Resources Management", GCUBELayoutType.ONE_COL, + new GCUBEPortlet("Resources Management", PortletsIdManager.getLRPortletId(PortletsIdManager.RESOURCES_MANAGEMENT)))); + else + siteLayout.addTab(new GCUBELayoutTab("Calendar", GCUBELayoutType.ONE_COL, + new GCUBEPortlet("Calendar", PortletsIdManager.getLRPortletId(PortletsIdManager.LR_CALENDAR)), true)); + return siteLayout; + } + /*** * simple helper method