From 9cc90eaae1773b313d62d717f232707ab72073e9 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Tue, 8 Nov 2016 22:21:28 +0000 Subject: [PATCH] minor fix to get highestRole function git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@133974 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/workspace/server/GWTWorkspaceServiceImpl.java | 4 ---- .../portlets/user/workspace/server/util/UserUtil.java | 8 +++++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java index 12557b4..6686939 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java @@ -116,10 +116,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT public static final String SELECTION_STATE_ATTRIBUTE = "WORKSPACE.SELECTION_STATE"; protected Logger workspaceLogger = Logger.getLogger(GWTWorkspaceServiceImpl.class); - // for the data catalogue - private static final String CKAN_ROLE = "ckanRole"; // a true value means the user has admin role, false means member - private static final String CKAN_ORGANIZATIONS_PUBLISH_KEY = "ckanOrganizationsPublish"; // here he can publish - /** * Gets the GWT workspace builder. * diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/util/UserUtil.java b/src/main/java/org/gcube/portlets/user/workspace/server/util/UserUtil.java index 5f7eee1..a4d9486 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/util/UserUtil.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/util/UserUtil.java @@ -208,6 +208,9 @@ public class UserUtil { // get highest role RolesCkanGroupOrOrg correspondentRoleToCheck = getLiferayHighestRoleInOrg(roles); + if(correspondentRoleToCheck.equals(RolesCkanGroupOrOrg.MEMBER)) + continue; + checkIfRoleIsSetInCkanInstance(username, gCubeGroupName, correspondentRoleToCheck, workspaceInstance, groupManager, gCubeGroup.getGroupId(), orgsInWhichAtLeastEditorRole); } @@ -229,6 +232,9 @@ public class UserUtil { // get highest role RolesCkanGroupOrOrg correspondentRoleToCheck = getLiferayHighestRoleInOrg(roles); + if(correspondentRoleToCheck.equals(RolesCkanGroupOrOrg.MEMBER)) + continue; + checkIfRoleIsSetInCkanInstance(username, gCubeGroupName, correspondentRoleToCheck, workspaceInstance, groupManager, gCubeGroup.getGroupId(), orgsInWhichAtLeastEditorRole); } @@ -283,7 +289,7 @@ public class UserUtil { // if there is an instance of ckan in this scope.. if(catalogue != null){ boolean res = catalogue.checkRoleIntoOrganization(username, gCubeGroupName, correspondentRoleToCheck); - + if(res && !correspondentRoleToCheck.equals(RolesCkanGroupOrOrg.MEMBER)){ // get the orgs of the user List ckanOrgs = catalogue.getOrganizationsByUser(username);