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