minor fixes due to updated widget and ckan util library
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/gcube-ckan-datacatalog@131960 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
ab7518009d
commit
e2d786340c
|
@ -4,9 +4,6 @@
|
||||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||||
<dependent-module archiveName="ckan-util-library-1.1.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ckan-util-library/ckan-util-library">
|
|
||||||
<dependency-type>uses</dependency-type>
|
|
||||||
</dependent-module>
|
|
||||||
<property name="context-root" value="gcube-ckan-datacatalog"/>
|
<property name="context-root" value="gcube-ckan-datacatalog"/>
|
||||||
<property name="java-output-path" value="/gcube-ckan-datacatalog/target/gcube-ckan-datacatalog-1.0.0-SNAPSHOT/WEB-INF/classes"/>
|
<property name="java-output-path" value="/gcube-ckan-datacatalog/target/gcube-ckan-datacatalog-1.0.0-SNAPSHOT/WEB-INF/classes"/>
|
||||||
</wb-module>
|
</wb-module>
|
||||||
|
|
|
@ -13,7 +13,6 @@ import com.github.gwtbootstrap.client.ui.base.UnorderedList;
|
||||||
import com.github.gwtbootstrap.client.ui.constants.ButtonType;
|
import com.github.gwtbootstrap.client.ui.constants.ButtonType;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
|
||||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
package org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.view;
|
package org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.view;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.GCubeCkanDataCatalog;
|
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.GCubeCkanDataCatalog;
|
||||||
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.resource.CkanPortletResources;
|
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.client.resource.CkanPortletResources;
|
||||||
|
@ -78,24 +77,6 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
ckanAccessPoint = ckan;
|
ckanAccessPoint = ckan;
|
||||||
instanceCkanFrame(ckan.buildURI());
|
instanceCkanFrame(ckan.buildURI());
|
||||||
GCubeCkanDataCatalogPanel.this.rootPanel.remove(loading);
|
GCubeCkanDataCatalogPanel.this.rootPanel.remove(loading);
|
||||||
|
|
||||||
// RETRIEVE USER'S ORGANIZATIONS
|
|
||||||
GCubeCkanDataCatalog.service.getCkanOrganizationsNamesAndUrlsForUser(new AsyncCallback<List<BeanUserInOrgRole>>() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSuccess(List<BeanUserInOrgRole> result) {
|
|
||||||
|
|
||||||
ckanOrganizationsPanel.setOrganizations(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(Throwable caught) {
|
|
||||||
|
|
||||||
// an error message will be displayed
|
|
||||||
ckanOrganizationsPanel.setOrganizations(null);
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// now perform the other requests
|
// now perform the other requests
|
||||||
GCubeCkanDataCatalog.service.outsidePortal(new AsyncCallback<Boolean>() {
|
GCubeCkanDataCatalog.service.outsidePortal(new AsyncCallback<Boolean>() {
|
||||||
|
@ -137,6 +118,25 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
|
||||||
showEditInsertButtons(false);
|
showEditInsertButtons(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RETRIEVE USER'S ORGANIZATIONS
|
||||||
|
GCubeCkanDataCatalog.service.getCkanOrganizationsNamesAndUrlsForUser(new AsyncCallback<List<BeanUserInOrgRole>>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(List<BeanUserInOrgRole> result) {
|
||||||
|
|
||||||
|
ckanOrganizationsPanel.setOrganizations(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
|
||||||
|
// an error message will be displayed
|
||||||
|
ckanOrganizationsPanel.setOrganizations(null);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.CKanUtils;
|
import org.gcube.datacatalogue.ckanutillibrary.CKanUtils;
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.models.RolesIntoOrganization;
|
import org.gcube.datacatalogue.ckanutillibrary.models.RolesCkanGroupOrOrg;
|
||||||
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.shared.CkanRole;
|
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.shared.CkanRole;
|
||||||
import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.OrganizationBean;
|
import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.OrganizationBean;
|
||||||
import org.gcube.vomanagement.usermanagement.GroupManager;
|
import org.gcube.vomanagement.usermanagement.GroupManager;
|
||||||
|
@ -122,22 +122,22 @@ public class UserUtil {
|
||||||
List<GCubeRole> roles = roleManager.listRolesByUserAndGroup(userid, groupManager.getGroupId(gCubeGroupName));
|
List<GCubeRole> roles = roleManager.listRolesByUserAndGroup(userid, groupManager.getGroupId(gCubeGroupName));
|
||||||
|
|
||||||
// get highest role
|
// get highest role
|
||||||
RolesIntoOrganization correspondentRoleToCheck = getLiferayHighestRoleInOrg(roles);
|
RolesCkanGroupOrOrg correspondentRoleToCheck = getLiferayHighestRoleInOrg(roles);
|
||||||
|
|
||||||
// if the role is member, continue
|
// if the role is member, continue
|
||||||
//if(correspondentRoleToCheck.equals(RolesIntoOrganization.MEMBER))
|
//if(correspondentRoleToCheck.equals(RolesCkanGroupOrOrg.MEMBER))
|
||||||
//continue;
|
//continue;
|
||||||
|
|
||||||
// admin or editor case
|
// be sure it is so
|
||||||
checkIfRoleIsSetInCkanInstance(username, gCubeGroupName, gCubeGroup.getGroupId(),
|
checkIfRoleIsSetInCkanInstance(username, gCubeGroupName, gCubeGroup.getGroupId(),
|
||||||
correspondentRoleToCheck, groupManager, gcubeCkanDataCatalogServiceImpl, orgsInWhichAtLeastEditorRole);
|
correspondentRoleToCheck, groupManager, gcubeCkanDataCatalogServiceImpl, orgsInWhichAtLeastEditorRole);
|
||||||
|
|
||||||
if(toReturn.equals(CkanRole.ADMIN))
|
if(toReturn.equals(CkanRole.ADMIN))
|
||||||
continue;
|
continue;
|
||||||
else if(toReturn.equals(CkanRole.EDITOR) && correspondentRoleToCheck.equals(RolesIntoOrganization.ADMIN))
|
else if(toReturn.equals(CkanRole.EDITOR) && correspondentRoleToCheck.equals(RolesCkanGroupOrOrg.ADMIN))
|
||||||
toReturn = CkanRole.ADMIN;
|
toReturn = CkanRole.ADMIN;
|
||||||
else // it was MEMBER
|
else // it was MEMBER
|
||||||
toReturn = mapRolesIntoOrganizationToCkanRole(correspondentRoleToCheck);
|
toReturn = mapRolesCkanGroupOrOrgToCkanRole(correspondentRoleToCheck);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,21 +156,22 @@ public class UserUtil {
|
||||||
List<GCubeRole> roles = roleManager.listRolesByUserAndGroup(userid, groupManager.getGroupId(gCubeGroupName));
|
List<GCubeRole> roles = roleManager.listRolesByUserAndGroup(userid, groupManager.getGroupId(gCubeGroupName));
|
||||||
|
|
||||||
// get highest role
|
// get highest role
|
||||||
RolesIntoOrganization correspondentRoleToCheck = getLiferayHighestRoleInOrg(roles);
|
RolesCkanGroupOrOrg correspondentRoleToCheck = getLiferayHighestRoleInOrg(roles);
|
||||||
|
|
||||||
// if the role is member, continue
|
// if the role is member, continue
|
||||||
//if(correspondentRoleToCheck.equals(RolesIntoOrganization.MEMBER))
|
//if(correspondentRoleToCheck.equals(RolesCkanGroupOrOrg.MEMBER))
|
||||||
//continue;
|
//continue;
|
||||||
|
|
||||||
|
// be sure it is so
|
||||||
checkIfRoleIsSetInCkanInstance(username, gCubeGroupName, gCubeGroup.getGroupId(),
|
checkIfRoleIsSetInCkanInstance(username, gCubeGroupName, gCubeGroup.getGroupId(),
|
||||||
correspondentRoleToCheck, groupManager, gcubeCkanDataCatalogServiceImpl, orgsInWhichAtLeastEditorRole);
|
correspondentRoleToCheck, groupManager, gcubeCkanDataCatalogServiceImpl, orgsInWhichAtLeastEditorRole);
|
||||||
|
|
||||||
if(toReturn.equals(CkanRole.ADMIN))
|
if(toReturn.equals(CkanRole.ADMIN))
|
||||||
continue;
|
continue;
|
||||||
else if(toReturn.equals(CkanRole.EDITOR) && correspondentRoleToCheck.equals(RolesIntoOrganization.ADMIN))
|
else if(toReturn.equals(CkanRole.EDITOR) && correspondentRoleToCheck.equals(RolesCkanGroupOrOrg.ADMIN))
|
||||||
toReturn = CkanRole.ADMIN;
|
toReturn = CkanRole.ADMIN;
|
||||||
else
|
else
|
||||||
toReturn = mapRolesIntoOrganizationToCkanRole(correspondentRoleToCheck);
|
toReturn = mapRolesCkanGroupOrOrgToCkanRole(correspondentRoleToCheck);
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(groupManager.isVRE(currentGroupId)){
|
}else if(groupManager.isVRE(currentGroupId)){
|
||||||
|
@ -179,13 +180,13 @@ public class UserUtil {
|
||||||
logger.debug("The current scope is the vre " + groupName);
|
logger.debug("The current scope is the vre " + groupName);
|
||||||
|
|
||||||
// get highest role
|
// get highest role
|
||||||
RolesIntoOrganization correspondentRoleToCheck = getLiferayHighestRoleInOrg(roles);
|
RolesCkanGroupOrOrg correspondentRoleToCheck = getLiferayHighestRoleInOrg(roles);
|
||||||
|
|
||||||
|
|
||||||
|
// be sure it is so
|
||||||
checkIfRoleIsSetInCkanInstance(username, groupName, currentGroupId,
|
checkIfRoleIsSetInCkanInstance(username, groupName, currentGroupId,
|
||||||
correspondentRoleToCheck, groupManager, gcubeCkanDataCatalogServiceImpl, orgsInWhichAtLeastEditorRole);
|
correspondentRoleToCheck, groupManager, gcubeCkanDataCatalogServiceImpl, orgsInWhichAtLeastEditorRole);
|
||||||
|
|
||||||
toReturn = mapRolesIntoOrganizationToCkanRole(correspondentRoleToCheck);
|
toReturn = mapRolesCkanGroupOrOrgToCkanRole(correspondentRoleToCheck);
|
||||||
|
|
||||||
}
|
}
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
|
@ -212,7 +213,7 @@ public class UserUtil {
|
||||||
*/
|
*/
|
||||||
private static void checkIfRoleIsSetInCkanInstance(String username,
|
private static void checkIfRoleIsSetInCkanInstance(String username,
|
||||||
String gCubeGroupName, long groupId,
|
String gCubeGroupName, long groupId,
|
||||||
RolesIntoOrganization correspondentRoleToCheck,
|
RolesCkanGroupOrOrg correspondentRoleToCheck,
|
||||||
GroupManager groupManager,
|
GroupManager groupManager,
|
||||||
GcubeCkanDataCatalogServiceImpl gcubeCkanDataCatalogServiceImpl, List<OrganizationBean> orgsInWhichAtLeastEditorRole) throws UserManagementSystemException, GroupRetrievalFault {
|
GcubeCkanDataCatalogServiceImpl gcubeCkanDataCatalogServiceImpl, List<OrganizationBean> orgsInWhichAtLeastEditorRole) throws UserManagementSystemException, GroupRetrievalFault {
|
||||||
|
|
||||||
|
@ -221,9 +222,9 @@ public class UserUtil {
|
||||||
|
|
||||||
// if there is an instance of ckan in this scope..
|
// if there is an instance of ckan in this scope..
|
||||||
if(ckanUtils != null){
|
if(ckanUtils != null){
|
||||||
boolean res = ckanUtils.checkRole(username, gCubeGroupName, correspondentRoleToCheck);
|
boolean res = ckanUtils.checkRoleIntoOrganization(username, gCubeGroupName, correspondentRoleToCheck);
|
||||||
|
|
||||||
if(res && !correspondentRoleToCheck.equals(RolesIntoOrganization.MEMBER)){
|
if(res && !correspondentRoleToCheck.equals(RolesCkanGroupOrOrg.MEMBER)){
|
||||||
// get the orgs of the user and retrieve its title and name
|
// get the orgs of the user and retrieve its title and name
|
||||||
List<CkanOrganization> ckanOrgs = ckanUtils.getOrganizationsByUser(username);
|
List<CkanOrganization> ckanOrgs = ckanUtils.getOrganizationsByUser(username);
|
||||||
for (CkanOrganization ckanOrganization : ckanOrgs) {
|
for (CkanOrganization ckanOrganization : ckanOrgs) {
|
||||||
|
@ -243,19 +244,19 @@ public class UserUtil {
|
||||||
* @param roles
|
* @param roles
|
||||||
* @return MEMBER/EDITOR/ADMIN role
|
* @return MEMBER/EDITOR/ADMIN role
|
||||||
*/
|
*/
|
||||||
private static RolesIntoOrganization getLiferayHighestRoleInOrg(
|
private static RolesCkanGroupOrOrg getLiferayHighestRoleInOrg(
|
||||||
List<GCubeRole> roles) {
|
List<GCubeRole> roles) {
|
||||||
|
|
||||||
// NOTE: it is supposed that there is just one role for this person correspondent to the one in the catalog
|
// NOTE: it is supposed that there is just one role for this person correspondent to the one in the catalog
|
||||||
for (GCubeRole gCubeRole : roles) {
|
for (GCubeRole gCubeRole : roles) {
|
||||||
if(gCubeRole.getRoleName().equalsIgnoreCase(GatewayRolesNames.CATALOGUE_ADMIN.getRoleName())){
|
if(gCubeRole.getRoleName().equalsIgnoreCase(GatewayRolesNames.CATALOGUE_ADMIN.getRoleName())){
|
||||||
return RolesIntoOrganization.ADMIN;
|
return RolesCkanGroupOrOrg.ADMIN;
|
||||||
}
|
}
|
||||||
if(gCubeRole.getRoleName().equalsIgnoreCase(GatewayRolesNames.CATALOGUE_EDITOR.getRoleName())){
|
if(gCubeRole.getRoleName().equalsIgnoreCase(GatewayRolesNames.CATALOGUE_EDITOR.getRoleName())){
|
||||||
return RolesIntoOrganization.EDITOR;
|
return RolesCkanGroupOrOrg.EDITOR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return RolesIntoOrganization.MEMBER;
|
return RolesCkanGroupOrOrg.MEMBER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -263,8 +264,8 @@ public class UserUtil {
|
||||||
* @param correspondentRoleToCheck
|
* @param correspondentRoleToCheck
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private static CkanRole mapRolesIntoOrganizationToCkanRole(
|
private static CkanRole mapRolesCkanGroupOrOrgToCkanRole(
|
||||||
RolesIntoOrganization correspondentRoleToCheck) {
|
RolesCkanGroupOrOrg correspondentRoleToCheck) {
|
||||||
switch(correspondentRoleToCheck){
|
switch(correspondentRoleToCheck){
|
||||||
|
|
||||||
case ADMIN: return CkanRole.ADMIN;
|
case ADMIN: return CkanRole.ADMIN;
|
||||||
|
|
Loading…
Reference in New Issue