the list of the Sites now depends on the portal (virtualhost)
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portal/liferay62-plugins/social-dockbar-hook@144285 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
a590257bb1
commit
e24e5ee745
|
@ -11,13 +11,7 @@
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||||
<attributes>
|
|
||||||
<attribute name="optional" value="true"/>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
|
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
name=social-dockbar-hook
|
name=social-dockbar-hook
|
||||||
module-group-id=liferay
|
module-group-id=liferay
|
||||||
module-incremental-version=3
|
module-incremental-version=4
|
||||||
tags=
|
tags=
|
||||||
short-description=
|
short-description=
|
||||||
change-log=
|
change-log=
|
||||||
|
|
|
@ -175,6 +175,7 @@ if (themeDisplay.isSignedIn()) {
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<!-- When desktop -->
|
<!-- When desktop -->
|
||||||
|
<div id="custom-dockbar-view-container">
|
||||||
<div class="collapse nav-collapse">
|
<div class="collapse nav-collapse">
|
||||||
<ul class="nav nav-add-controls">
|
<ul class="nav nav-add-controls">
|
||||||
<li class="dockbar-item"><a class=""
|
<li class="dockbar-item"><a class=""
|
||||||
|
@ -241,5 +242,6 @@ if (themeDisplay.isSignedIn()) {
|
||||||
</span>
|
</span>
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
|
</div>
|
||||||
<!-- End When phone or tablet -->
|
<!-- End When phone or tablet -->
|
||||||
<% } %>
|
<% } %>
|
|
@ -16,6 +16,10 @@
|
||||||
|
|
||||||
<%@page import="java.util.ArrayList"%>
|
<%@page import="java.util.ArrayList"%>
|
||||||
<%@ include file="/html/taglib/init.jsp"%>
|
<%@ include file="/html/taglib/init.jsp"%>
|
||||||
|
<%@ page import="org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager" %>
|
||||||
|
<%@ page import="org.gcube.vomanagement.usermanagement.model.VirtualGroup" %>
|
||||||
|
<%@ page import="org.gcube.vomanagement.usermanagement.util.ManagementUtils" %>
|
||||||
|
<%@ page import="java.util.Collections" %>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
String[] classNames = (String[]) request
|
String[] classNames = (String[]) request
|
||||||
|
@ -31,31 +35,49 @@
|
||||||
if (max <= 0) {
|
if (max <= 0) {
|
||||||
max = PropsValues.MY_SITES_MAX_ELEMENTS;
|
max = PropsValues.MY_SITES_MAX_ELEMENTS;
|
||||||
}
|
}
|
||||||
|
/* EDIT For Custom Go To Panel */
|
||||||
|
Set<Group> customSiteGroups = new HashSet<Group>();
|
||||||
|
|
||||||
|
|
||||||
List<Group> mySiteGroups = new ArrayList<Group>();
|
List<Group> mySiteGroups = new ArrayList<Group>();
|
||||||
|
|
||||||
boolean isAdmin = false, isSiteAdmin = false;
|
boolean isAdmin = false, isSiteAdmin = false;
|
||||||
|
|
||||||
|
//get the list of VREs available on this virtual host (customSiteGroups)
|
||||||
|
String serverName = request.getServerName();
|
||||||
|
LiferayGroupManager gm = new LiferayGroupManager();
|
||||||
|
List<VirtualGroup> currSiteVirtualGroups = gm.getVirtualGroups(ManagementUtils.getSiteGroupIdFromServletRequest(serverName));
|
||||||
|
for (Group userGroup : user.getMySiteGroups(classNames, includeControlPanel, max)) {
|
||||||
|
if (userGroup.getChildren(true).isEmpty() && userGroup.getParentGroup() != null && (userGroup.getFriendlyURL().compareTo("/data-e-infrastructure-gateway") != 0) ) {
|
||||||
|
for (VirtualGroup currSiteVGroup : currSiteVirtualGroups) {
|
||||||
|
List<VirtualGroup> vGroups = gm.getVirtualGroups(userGroup.getGroupId());
|
||||||
|
for (VirtualGroup virtualGroup : vGroups) {
|
||||||
|
if (virtualGroup.getName().compareTo(currSiteVGroup.getName()) == 0) {
|
||||||
|
customSiteGroups.add(userGroup);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//if the user is administrator we add the VOs and Root VO
|
||||||
for (Role role : user.getRoles()) {
|
for (Role role : user.getRoles()) {
|
||||||
if ("Administrator".equals(role.getName())) {
|
if ("Administrator".equals(role.getName())) {
|
||||||
isAdmin = true;
|
isAdmin = true;
|
||||||
mySiteGroups = user.getMySiteGroups(classNames,
|
for (Group site: user.getMySiteGroups(classNames, includeControlPanel, max)) {
|
||||||
includeControlPanel, max);
|
//if is not a VRE
|
||||||
|
if (! site.getChildren(true).isEmpty() && (site.getFriendlyURL().compareTo("/data-e-infrastructure-gateway") != 0) )
|
||||||
|
customSiteGroups.add(site);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//copy the set into the expected list
|
||||||
|
mySiteGroups.addAll(customSiteGroups);
|
||||||
|
|
||||||
|
Collections.sort(mySiteGroups);
|
||||||
|
|
||||||
|
|
||||||
if (! isAdmin) {
|
/*End Edit */
|
||||||
try {
|
|
||||||
for (Group group : user.getMySiteGroups(classNames, includeControlPanel, max)) {
|
|
||||||
if (group.getChildren(true).isEmpty() && (group.getFriendlyURL().compareTo("/data-e-infrastructure-gateway") != 0) ) {
|
|
||||||
mySiteGroups.add(group);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (SystemException e1) {
|
|
||||||
e1.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<c:if test="<%=!mySiteGroups.isEmpty()%>">
|
<c:if test="<%=!mySiteGroups.isEmpty()%>">
|
||||||
|
|
Loading…
Reference in New Issue