From 8e0bafcbfa6122aeb780ca3c2aa35f3c346bf404 Mon Sep 17 00:00:00 2001 From: gkolokythas Date: Thu, 20 Jun 2019 14:31:29 +0300 Subject: [PATCH] Adds criteria "Public" on DMP listing. --- .../data/dao/criteria/DataManagementPlanCriteria.java | 8 ++++++++ .../main/java/eu/eudat/data/dao/entities/DMPDaoImpl.java | 2 ++ dmp-frontend/src/app/core/query/dmp/dmp-criteria.ts | 1 + .../ui/dmp/listing/criteria/dmp-criteria.component.html | 5 +++-- .../src/app/ui/dmp/listing/dmp-listing.component.ts | 7 ++++++- dmp-frontend/src/assets/i18n/en.json | 3 ++- 6 files changed, 22 insertions(+), 4 deletions(-) diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DataManagementPlanCriteria.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DataManagementPlanCriteria.java index 8faee2f7c..bde0f4ab6 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DataManagementPlanCriteria.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DataManagementPlanCriteria.java @@ -19,6 +19,7 @@ public class DataManagementPlanCriteria extends Criteria { private Integer role; private List collaborators; private List datasetTemplates; + private boolean isPublic; public Date getPeriodStart() { return periodStart; @@ -89,4 +90,11 @@ public class DataManagementPlanCriteria extends Criteria { public void setDatasetTemplates(List datasetTemplates) { this.datasetTemplates = datasetTemplates; } + + public boolean getIsPublic() { + return isPublic; + } + public void setIsPublic(boolean isPublic) { + this.isPublic = isPublic; + } } diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DMPDaoImpl.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DMPDaoImpl.java index b71cbe7fa..7546cc47e 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DMPDaoImpl.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DMPDaoImpl.java @@ -55,6 +55,8 @@ public class DMPDaoImpl extends DatabaseAccess implements DMPDao { query.where((builder, root) -> builder.equal(root.get("status"), DMP.DMPStatus.ACTIVE.getValue())); } } + if (criteria.getIsPublic()) + query.where(((builder, root) -> builder.equal(root.get("isPublic"), true))); if (criteria.getRole() != null) { if (criteria.getRole().equals(UserDMP.UserDMPRoles.OWNER.getValue())){ query.where((builder, root) -> builder.equal(root.join("users", JoinType.LEFT).get("role"), UserDMP.UserDMPRoles.OWNER.getValue())); diff --git a/dmp-frontend/src/app/core/query/dmp/dmp-criteria.ts b/dmp-frontend/src/app/core/query/dmp/dmp-criteria.ts index 63798fe03..a329d2041 100644 --- a/dmp-frontend/src/app/core/query/dmp/dmp-criteria.ts +++ b/dmp-frontend/src/app/core/query/dmp/dmp-criteria.ts @@ -11,4 +11,5 @@ export class DmpCriteria extends BaseCriteria { public role?: number; public collaborators?: string[] = []; public datasetTemplates?: string[] = []; + public isPublic?: boolean; } diff --git a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.html b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.html index bacd1869e..2b97784fd 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.html +++ b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.html @@ -17,8 +17,9 @@
{{ 'TYPES.DMP-VISIBILITY.VISIBILITY' | translate }}
{{ 'TYPES.DMP-VISIBILITY.ANY' | translate }} - {{ 'TYPES.DMP-VISIBILITY.PUBLIC' | translate }} - {{ 'TYPES.DMP-VISIBILITY.PRIVATE' | translate }} + {{ 'TYPES.DMP-VISIBILITY.PUBLIC' | translate }} + {{ 'TYPES.DMP-VISIBILITY.FINALIZED' | translate }} + {{ 'TYPES.DMP-VISIBILITY.DRAFT' | translate }} diff --git a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts index 94651518f..2226e9b49 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts @@ -107,9 +107,14 @@ export class DmpListingComponent extends BaseComponent implements OnInit, IBread request.criteria = { like: value.like, projects: value.projects, - status: value.status, role: value.role } + if (value.status == 2) { + request.criteria.isPublic = true; + } else { + request.criteria.status = value.status; + request.criteria.isPublic = false; + } if (value.datasetTemplates) request.criteria.datasetTemplates = value.datasetTemplates.map(x => x.id); if (value.collaborators) diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json index 8d213c0d4..fbcaa67b7 100644 --- a/dmp-frontend/src/assets/i18n/en.json +++ b/dmp-frontend/src/assets/i18n/en.json @@ -675,7 +675,8 @@ "DMP-VISIBILITY": { "VISIBILITY": "Visibility", "PUBLIC": "Public", - "PRIVATE": "Private", + "FINALIZED": "Finalized" , + "DRAFT": "Draft", "ANY": "Any" }, "DATASET-PROFILE-FIELD-VALIDATION-TYPE": {