diff --git a/CHANGELOG.md b/CHANGELOG.md index d7e5774..9e33353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - Added moderation link in moderation message [#23142] - Added query parameter in item listing to get the whole item instead of just the name [#23691] - Using renamed constant from gcat-api +- Explict request for approved items return only moderated and approved [#23696] ## [v2.3.0] diff --git a/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java b/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java index bff696b..8361e5e 100644 --- a/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java +++ b/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java @@ -1103,7 +1103,9 @@ public class CKANPackage extends CKAN implements Moderated { } } + boolean cmItemStatusWasNull = false; if(cmItemStatus==null) { + cmItemStatusWasNull = true; cmItemStatus = CMItemStatus.APPROVED; } @@ -1113,11 +1115,12 @@ public class CKANPackage extends CKAN implements Moderated { stringBuffer.append(":"); stringBuffer.append(cmItemStatus.getValue()); - if(cmItemStatus == CMItemStatus.APPROVED) { + if(cmItemStatusWasNull) { stringBuffer.append(" OR (*:* -"); stringBuffer.append(CM_STATUS_QUERY_FILTER_KEY); stringBuffer.append(":[* TO *])"); } + stringBuffer.append(")"); q = String.format("%s AND %s", q, stringBuffer.toString()); parameters.put(GCatConstants.Q_KEY, q);