Implemented the Moderation init reading the query_string parameter

This commit is contained in:
Francesco Mangiacrapa 2022-05-04 11:07:11 +02:00
parent 6ea7e68657
commit d861865879
3 changed files with 32 additions and 15 deletions

View File

@ -37,6 +37,7 @@ import org.gcube.portlets.widgets.ckan2zenodopublisher.client.CkanToZendoPublish
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.CatalogueItem; import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.CatalogueItem;
import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorCheckConfigs; import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorCheckConfigs;
import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorWidgetTrusted; import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorWidgetTrusted;
import org.gcube.portlets.widgets.ckancontentmoderator.client.ContentModeratorWidgetConstants;
import org.gcube.portlets.widgets.ckancontentmoderator.shared.DISPLAY_FIELD; import org.gcube.portlets.widgets.ckancontentmoderator.shared.DISPLAY_FIELD;
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.form.CreateDatasetForm; import org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.form.CreateDatasetForm;
import org.gcube.portlets_widgets.catalogue_sharing_widget.client.ShareCatalogueWidget; import org.gcube.portlets_widgets.catalogue_sharing_widget.client.ShareCatalogueWidget;
@ -248,8 +249,7 @@ public class CkanEventHandlerManager {
} }
if (sortByFields == null) { if (sortByFields == null) {
sortByFields = new DISPLAY_FIELD[] { DISPLAY_FIELD.NAME, DISPLAY_FIELD.TITLE, DISPLAY_FIELD.CREATED, sortByFields = ContentModeratorWidgetConstants.DEFAULT_SORT_BY_FIELDS;
DISPLAY_FIELD.LAST_UPDATE, DISPLAY_FIELD.TYPE };
} }
final CkanContentModeratorWidgetTrusted cmsTrusted = new CkanContentModeratorWidgetTrusted( final CkanContentModeratorWidgetTrusted cmsTrusted = new CkanContentModeratorWidgetTrusted(

View File

@ -7,25 +7,23 @@ import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.RootPanel;
/** /**
* The Class GCubeCkanDataCatalog. * The Class GCubeCkanDataCatalog.
* *
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it Nov 4, 2016
* Nov 4, 2016
*/ */
public class GCubeCkanDataCatalog implements EntryPoint { public class GCubeCkanDataCatalog implements EntryPoint {
/** /**
* Create a remote service proxy to talk to the server-side Greeting * Create a remote service proxy to talk to the server-side Greeting service.
* service.
*/ */
public static final GcubeCkanDataCatalogServiceAsync service = GWT.create(GcubeCkanDataCatalogService.class); public static final GcubeCkanDataCatalogServiceAsync service = GWT.create(GcubeCkanDataCatalogService.class);
public static final String CKAN_LOGUT_SERVICE = GWT.getModuleBaseURL() +"gcubeckanlogout"; public static final String CKAN_LOGUT_SERVICE = GWT.getModuleBaseURL() + "gcubeckanlogout";
private final String DIV_PORTLET_ID = "gCubeCkanDataCatalog"; private final String DIV_PORTLET_ID = "gCubeCkanDataCatalog";
private CkanEventHandlerManager eventManager = new CkanEventHandlerManager(); private CkanEventHandlerManager eventManager = new CkanEventHandlerManager();
public static final String GET_PATH_PARAMETER = "path"; public static final String GET_PATH_PARAMETER = "path";
public static final String GET_QUERY_PARAMETER = "query"; public static final String GET_QUERY_PARAMETER = "query";
public static final String GET_QUERY_STRING_PARAMETER = "query_string";
public static final String REVERT_QUERY_PARAM = "manage"; public static final String REVERT_QUERY_PARAM = "manage";
public static final String GCUBE_CKAN_IFRAME = "gcube-ckan-iframe"; public static final String GCUBE_CKAN_IFRAME = "gcube-ckan-iframe";
@ -34,13 +32,14 @@ public class GCubeCkanDataCatalog implements EntryPoint {
*/ */
public void onModuleLoad() { public void onModuleLoad() {
GCubeCkanDataCatalogPanel panel = new GCubeCkanDataCatalogPanel(RootPanel.get(DIV_PORTLET_ID), eventManager.getEventBus()); GCubeCkanDataCatalogPanel panel = new GCubeCkanDataCatalogPanel(RootPanel.get(DIV_PORTLET_ID),
eventManager.getEventBus());
eventManager.setPanel(panel); eventManager.setPanel(panel);
/* /*
CkanContentModeratorWidget ccmw = new CkanContentModeratorWidget(); * CkanContentModeratorWidget ccmw = new CkanContentModeratorWidget();
ccmw.showAsModal("Manage Items"); * ccmw.showAsModal("Manage Items");
*/ */
} }
} }

View File

@ -17,6 +17,10 @@ import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.shared.CkanConnectorAcc
import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.shared.ManageProductResponse; import org.gcube.portlets.gcubeckan.gcubeckandatacatalog.shared.ManageProductResponse;
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.CkanToZenodoPublisherServiceAsync; import org.gcube.portlets.widgets.ckan2zenodopublisher.client.CkanToZenodoPublisherServiceAsync;
import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorCheckConfigs; import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorCheckConfigs;
import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorWidget;
import org.gcube.portlets.widgets.ckancontentmoderator.client.util.ModerationQueryStringUtil;
import org.gcube.portlets.widgets.ckancontentmoderator.client.util.ModerationQueryStringUtil.ModerationBuilder;
import org.gcube.portlets.widgets.ckancontentmoderator.client.util.QueryStringUtil;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.ResizeEvent; import com.google.gwt.event.logical.shared.ResizeEvent;
@ -88,7 +92,7 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
setTopPanelVisible(true); setTopPanelVisible(true);
// decode parameters (they could have been encoded) // decode parameters (they could have been encoded)
final Map<String, String> paramsMap = new HashMap<String, String>(2); final Map<String, String> paramsMap = new HashMap<String, String>(3);
String queryParameters = Window.Location.getQueryString(); String queryParameters = Window.Location.getQueryString();
if (queryParameters != null && !queryParameters.isEmpty()) { if (queryParameters != null && !queryParameters.isEmpty()) {
String decoded = URL.decodeQueryString(queryParameters); // equals should be encoded too (%3D) String decoded = URL.decodeQueryString(queryParameters); // equals should be encoded too (%3D)
@ -102,6 +106,20 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
String pathParameter = paramsMap.get(GCubeCkanDataCatalog.GET_PATH_PARAMETER); // Window.Location.getParameter(GCubeCkanDataCatalog.GET_PATH_PARAMETER); String pathParameter = paramsMap.get(GCubeCkanDataCatalog.GET_PATH_PARAMETER); // Window.Location.getParameter(GCubeCkanDataCatalog.GET_PATH_PARAMETER);
String queryParameter = paramsMap.get(GCubeCkanDataCatalog.GET_QUERY_PARAMETER);// Window.Location.getParameter(GCubeCkanDataCatalog.GET_QUERY_PARAMETER); String queryParameter = paramsMap.get(GCubeCkanDataCatalog.GET_QUERY_PARAMETER);// Window.Location.getParameter(GCubeCkanDataCatalog.GET_QUERY_PARAMETER);
String queryStringParameter = paramsMap.get(GCubeCkanDataCatalog.GET_QUERY_STRING_PARAMETER);
if (queryStringParameter != null) {
GWT.log("Read "+GCubeCkanDataCatalog.GET_QUERY_STRING_PARAMETER+ " as: "+queryStringParameter);
String base64DecodeQueryString = QueryStringUtil.base64DecodeQueryString(queryStringParameter);
ModerationBuilder moderationBuilder = new ModerationQueryStringUtil()
.toModerationBuilder(base64DecodeQueryString);
if (moderationBuilder != null) {
GWT.log("Moderation Builder is: "+moderationBuilder);
CkanContentModeratorWidget ccmw = new CkanContentModeratorWidget(moderationBuilder);
ccmw.showAsModal("Manage Items");
}
}
String browserLocationURL = getBrowserLocationURL(); String browserLocationURL = getBrowserLocationURL();
@ -243,7 +261,7 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate {
} catch (Exception e) { } catch (Exception e) {
GWT.log("Command - Check configs error: " + e.getMessage()); GWT.log("Command - Check configs error: " + e.getMessage());
} }
ckanModeratorCheckConfig = moderatorcheckConfig; ckanModeratorCheckConfig = moderatorcheckConfig;
GWT.log("Moderation is enabled? " + isContentModerationEnabled); GWT.log("Moderation is enabled? " + isContentModerationEnabled);