diff --git a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/GcubeCkanDataCatalogServiceImpl.java b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/GcubeCkanDataCatalogServiceImpl.java index a5875dc..7d2f6a4 100644 --- a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/GcubeCkanDataCatalogServiceImpl.java +++ b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/GcubeCkanDataCatalogServiceImpl.java @@ -310,12 +310,12 @@ public class GcubeCkanDataCatalogServiceImpl extends RemoteServiceServlet implem logger.info("Set role " + toReturn + " into session for user " + username); } - // if he is not a member (so he can publish), preload: + // if he is not a member/editor (so he can publish), preload: // 1) organizations in which he can publish // 2) the list of licenses // 3) metadata profiles // In this way the publish widget can simply retrieve those information from the ASL session - if(!toReturn.equals(CkanRole.MEMBER)){ + if(!(toReturn.equals(CkanRole.MEMBER) || toReturn.equals(CkanRole.EDITOR))){ UserUtil.getLicenses(httpSession, username, concatenateSessionKeyScope(CKAN_LICENSES_KEY, currentScope), ckanUtils); UserUtil.getUserOrganizationsList(httpSession, username, isSysAdmin, concatenateSessionKeyScope(CKAN_ORGANIZATIONS_PUBLISH_KEY, currentScope), ckanUtils, getUserCKanTokenFromSession()); UserUtil.getMetadataProfilesList(httpSession, username, concatenateSessionKeyScope(CKAN_PROFILES_KEY, currentScope), ckanUtils); diff --git a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/UserUtil.java b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/UserUtil.java index cd8fa0a..d743383 100644 --- a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/UserUtil.java +++ b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/UserUtil.java @@ -333,9 +333,8 @@ public class UserUtil { }else{ - // We need to retrieve orgs in which the user has the roles ADMIN or EDITOR + // We need to retrieve orgs in which the user has the roles ADMIN List rolesToMatch = new ArrayList(); - rolesToMatch.add(RolesIntoOrganization.EDITOR); rolesToMatch.add(RolesIntoOrganization.ADMIN); Map> orgsAndRoles = ckanUtils.getGroupsAndRolesByUser(username, rolesToMatch); @@ -347,7 +346,7 @@ public class UserUtil { Map.Entry> entry = (Map.Entry>) iterator .next(); orgsName.add(entry.getKey()); - logger.debug("The user has a role ADMIN/EDITOR into org " + entry.getKey()); + logger.debug("The user has a role ADMIN into org " + entry.getKey()); } } session.setAttribute(ckanOrganizationsPublishKey, orgsName);