diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DatasetCriteria.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DatasetCriteria.java index 8dac2b30f..7631c4d76 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DatasetCriteria.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/criteria/DatasetCriteria.java @@ -21,6 +21,7 @@ public class DatasetCriteria extends Criteria { private List grants; private List collaborators; private List datasetTemplates; + private List groupIds; public boolean getAllVersions() { return allVersions; @@ -105,4 +106,11 @@ public class DatasetCriteria extends Criteria { public void setDatasetTemplates(List datasetTemplates) { this.datasetTemplates = datasetTemplates; } + + public List getGroupIds() { + return groupIds; + } + public void setGroupIds(List groupIds) { + this.groupIds = groupIds; + } } diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DatasetDaoImpl.java b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DatasetDaoImpl.java index 6c56fe514..c2e703c7d 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DatasetDaoImpl.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/DatasetDaoImpl.java @@ -43,6 +43,8 @@ public class DatasetDaoImpl extends DatabaseAccess implements DatasetDa query.where((builder, root) -> builder.greaterThan(root.get("created"), criteria.getPeriodStart())); if (!criteria.getAllVersions()) query.initSubQuery(String.class).where((builder, root) -> builder.equal(root.get("dmp").get("version"), query.subQueryMax((builder1, externalRoot, nestedRoot) -> builder1.equal(externalRoot.get("dmp").get("groupId"), nestedRoot.get("dmp").get("groupId")), Arrays.asList(new SelectionField(FieldSelectionType.COMPOSITE_FIELD, "dmp:version")), String.class))); + if (criteria.getGroupIds() != null && !criteria.getGroupIds().isEmpty()) + query.where((builder, root) -> root.get("dmp").get("groupId").in(criteria.getGroupIds())); if (criteria.getDmpIds() != null && !criteria.getDmpIds().isEmpty()) query.where((builder, root) -> root.get("dmp").get("id").in(criteria.getDmpIds())); /*if (criteria.getRole() != null) { diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/listingmodels/DatasetListingModel.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/listingmodels/DatasetListingModel.java index d1cd16647..9906baeb6 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/listingmodels/DatasetListingModel.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/listingmodels/DatasetListingModel.java @@ -28,6 +28,7 @@ public class DatasetListingModel implements DataModel new Service().fromDataModel(item.getService())).collect(Collectors.toList())); this.finalizedAt = entity.getFinalizedAt(); this.dmpPublishedAt = entity.getDmp().getPublishedAt(); + this.version = entity.getDmp().getVersion(); return this; } diff --git a/dmp-frontend/src/app/core/model/dataset/dataset-listing.ts b/dmp-frontend/src/app/core/model/dataset/dataset-listing.ts index 1776ab9be..5202636ab 100644 --- a/dmp-frontend/src/app/core/model/dataset/dataset-listing.ts +++ b/dmp-frontend/src/app/core/model/dataset/dataset-listing.ts @@ -16,4 +16,5 @@ export interface DatasetListingModel { modified: Date; finalizedAt: Date; dmpPublishedAt?: Date; + version: number; } diff --git a/dmp-frontend/src/app/core/query/dataset/dataset-criteria.ts b/dmp-frontend/src/app/core/query/dataset/dataset-criteria.ts index 8d876e9b0..964a35c6b 100644 --- a/dmp-frontend/src/app/core/query/dataset/dataset-criteria.ts +++ b/dmp-frontend/src/app/core/query/dataset/dataset-criteria.ts @@ -6,9 +6,10 @@ export class DatasetCriteria extends BaseCriteria { public status?: Number; public dmpIds?: string[] = []; public tags?: ExternalSourceItemModel[] = []; - public allVersions?: boolean; + public allVersions?: boolean = true; public role?: number; public organisations?: string[] = []; public collaborators?: string[] = []; public datasetTemplates?: string[] = []; + public groupIds?: string[] = []; } diff --git a/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria.component.html b/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria.component.html index 674efe80e..a6a8af04e 100644 --- a/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria.component.html +++ b/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria.component.html @@ -39,7 +39,7 @@
{{'CRITERIA.DATA-SETS.RELATED-DMP' | translate}}
- @@ -47,6 +47,13 @@
+ +
+
{{'CRITERIA.DATA-SETS.ALL-VERSIONS'| translate}}
+ +
+ +
{{'CRITERIA.DATA-SETS.RELATED-GRANT' | translate}}
diff --git a/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria.component.ts b/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria.component.ts index 21f2ee355..5aacdca71 100644 --- a/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria.component.ts +++ b/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria.component.ts @@ -52,14 +52,15 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O public formGroup = new FormBuilder().group({ like: new FormControl(), - dmpIds: new FormControl(), + groupIds: new FormControl(), grants: new FormControl(), status: new FormControl(), role: new FormControl(), organisations: new FormControl(), collaborators: new FormControl(), datasetTemplates: new FormControl(), - tags: new FormControl() + tags: new FormControl(), + allVersions: new FormControl() }); tagsAutoCompleteConfiguration = { @@ -133,7 +134,7 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O this.formGroup.get('like').valueChanges .pipe(takeUntil(this._destroyed)) .subscribe(x => this.controlModified()); - this.formGroup.get('dmpIds').valueChanges + this.formGroup.get('groupIds').valueChanges .pipe(takeUntil(this._destroyed)) .subscribe(x => this.controlModified()); this.formGroup.get('grants').valueChanges @@ -154,17 +155,21 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O this.formGroup.get('datasetTemplates').valueChanges .pipe(takeUntil(this._destroyed)) .subscribe(x => this.controlModified()); + this.formGroup.get('allVersions').valueChanges + .pipe(takeUntil(this._destroyed)) + .subscribe(x => this.controlModified()); // if (this.criteria == null) { this.criteria = {}; } } setCriteria(criteria: DatasetCriteria): void { this.formGroup.get('like').patchValue(criteria.like); - this.formGroup.get('dmpIds').patchValue(criteria.dmpIds); + this.formGroup.get('groupIds').patchValue(criteria.groupIds); this.formGroup.get('grants').patchValue(criteria.grants); this.formGroup.get('status').patchValue(criteria.status); this.formGroup.get('role').patchValue(criteria.role); this.formGroup.get('collaborators').patchValue(criteria.collaborators); this.formGroup.get('datasetTemplates').patchValue(criteria.datasetTemplates); + this.formGroup.get('allVersions').patchValue(criteria.allVersions); // this.criteria = criteria; } diff --git a/dmp-frontend/src/app/ui/dataset/listing/dataset-listing.component.ts b/dmp-frontend/src/app/ui/dataset/listing/dataset-listing.component.ts index 8a06012ab..af9aceece 100644 --- a/dmp-frontend/src/app/ui/dataset/listing/dataset-listing.component.ts +++ b/dmp-frontend/src/app/ui/dataset/listing/dataset-listing.component.ts @@ -113,6 +113,9 @@ export class DatasetListingComponent extends BaseComponent implements OnInit, IB if (value.dmpIds) { request.criteria.dmpIds = value.dmpIds.map(x => x.id); } + if (value.groupIds) { + request.criteria.groupIds = value.groupIds.map(x => x.groupId); + } if (value.grants) { request.criteria.grants = value.grants.map(x => x.id); } diff --git a/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.html b/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.html index da72a5cb5..012bc584f 100644 --- a/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.html +++ b/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.html @@ -59,6 +59,12 @@
{{ dataset.profile }}
+
+ + history + +

{{ dataset.version }}

+

{{'DATASET-LISTING.COLUMNS.LAST-EDITED' | translate}} {{ dataset.modified | date: "shortDate"}}