Adds Dataset Template criteria on Dataset listing.
This commit is contained in:
parent
a0edd856f3
commit
61a64a1c5b
|
@ -20,6 +20,7 @@ public class DatasetCriteria extends Criteria<Dataset> {
|
||||||
private Integer role;
|
private Integer role;
|
||||||
private List<UUID> projects;
|
private List<UUID> projects;
|
||||||
private List<UUID> collaborators;
|
private List<UUID> collaborators;
|
||||||
|
private List<UUID> datasetTemplates;
|
||||||
|
|
||||||
public boolean getAllVersions() {
|
public boolean getAllVersions() {
|
||||||
return allVersions;
|
return allVersions;
|
||||||
|
@ -97,4 +98,11 @@ public class DatasetCriteria extends Criteria<Dataset> {
|
||||||
public void setCollaborators(List<UUID> collaborators) {
|
public void setCollaborators(List<UUID> collaborators) {
|
||||||
this.collaborators = collaborators;
|
this.collaborators = collaborators;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<UUID> getDatasetTemplates() {
|
||||||
|
return datasetTemplates;
|
||||||
|
}
|
||||||
|
public void setDatasetTemplates(List<UUID> datasetTemplates) {
|
||||||
|
this.datasetTemplates = datasetTemplates;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,18 +43,16 @@ public class DatasetDaoImpl extends DatabaseAccess<Dataset> implements DatasetDa
|
||||||
query.initSubQuery(String.class).where((builder, root) -> builder.equal(root.get("dmp").get("version"), query.<String>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)));
|
query.initSubQuery(String.class).where((builder, root) -> builder.equal(root.get("dmp").get("version"), query.<String>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.getDmpIds() != null && !criteria.getDmpIds().isEmpty())
|
if (criteria.getDmpIds() != null && !criteria.getDmpIds().isEmpty())
|
||||||
query.where((builder, root) -> root.get("dmp").get("id").in(criteria.getDmpIds()));
|
query.where((builder, root) -> root.get("dmp").get("id").in(criteria.getDmpIds()));
|
||||||
if (criteria.getRole() != null) {
|
if (criteria.getRole() != null)
|
||||||
query.where((builder, root) -> builder.equal(root.join("dmp").join("users").get("role"), criteria.getRole()));
|
query.where((builder, root) -> builder.equal(root.join("dmp").join("users").get("role"), criteria.getRole()));
|
||||||
}
|
if (criteria.getOrganisations() != null && !criteria.getOrganisations().isEmpty())
|
||||||
if (criteria.getOrganisations() != null && !criteria.getOrganisations().isEmpty()) {
|
|
||||||
query.where((builder, root) -> root.join("dmp").join("organisations").get("reference").in(criteria.getOrganisations()));
|
query.where((builder, root) -> root.join("dmp").join("organisations").get("reference").in(criteria.getOrganisations()));
|
||||||
}
|
if (criteria.getProjects() != null && !criteria.getProjects().isEmpty())
|
||||||
if (criteria.getProjects() != null && !criteria.getProjects().isEmpty()) {
|
|
||||||
query.where((builder, root) -> root.join("dmp").join("project").get("id").in(criteria.getProjects()));
|
query.where((builder, root) -> root.join("dmp").join("project").get("id").in(criteria.getProjects()));
|
||||||
}
|
if (criteria.getCollaborators() != null && !criteria.getCollaborators().isEmpty())
|
||||||
if (criteria.getCollaborators() != null && !criteria.getCollaborators().isEmpty()) {
|
|
||||||
query.where((builder, root) -> root.join("dmp", JoinType.LEFT).join("users", JoinType.LEFT).join("user", JoinType.LEFT).get("id").in(criteria.getCollaborators()));
|
query.where((builder, root) -> root.join("dmp", JoinType.LEFT).join("users", JoinType.LEFT).join("user", JoinType.LEFT).get("id").in(criteria.getCollaborators()));
|
||||||
}
|
if (criteria.getDatasetTemplates() != null && !criteria.getDatasetTemplates().isEmpty())
|
||||||
|
query.where(((builder, root) -> root.get("profile").get("id").in(criteria.getDatasetTemplates())));
|
||||||
query.where(((builder, root) -> builder.notEqual(root.get("status"), Dataset.Status.DELETED.getValue())));
|
query.where(((builder, root) -> builder.notEqual(root.get("status"), Dataset.Status.DELETED.getValue())));
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,13 @@ public class DatasetProfileDaoImpl extends DatabaseAccess<DatasetProfile> implem
|
||||||
builder.notEqual(root.get("id"), criteria.getUserId())));
|
builder.notEqual(root.get("id"), criteria.getUserId())));
|
||||||
//query.where(((builder, root) -> builder.equal(root.join("dmps", JoinType.LEFT).join("users", JoinType.LEFT).join("user", JoinType.LEFT).get("id"), criteria.getUserId())));
|
//query.where(((builder, root) -> builder.equal(root.join("dmps", JoinType.LEFT).join("users", JoinType.LEFT).join("user", JoinType.LEFT).get("id"), criteria.getUserId())));
|
||||||
}
|
}
|
||||||
|
if (criteria.getFilter().equals(DatasetProfileCriteria.DatasetProfileFilter.Datasets.getValue())) {
|
||||||
|
query.initSubQuery(UUID.class).where((builder, root) ->
|
||||||
|
builder.and(root.get("id").in(
|
||||||
|
query.subQuery((builder1, root1) -> builder1.equal(root1.join("dataset", JoinType.LEFT).join("dmp", JoinType.LEFT).join("users", JoinType.LEFT).join("user", JoinType.LEFT).get("id"), criteria.getUserId()),
|
||||||
|
Arrays.asList(new SelectionField(FieldSelectionType.FIELD, "id")))),
|
||||||
|
builder.notEqual(root.get("id"), criteria.getUserId())));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
query.where(((builder, root) -> builder.notEqual(root.get("status"), DatasetProfile.Status.DELETED.getValue())));
|
query.where(((builder, root) -> builder.notEqual(root.get("status"), DatasetProfile.Status.DELETED.getValue())));
|
||||||
return query;
|
return query;
|
||||||
|
|
|
@ -3,9 +3,11 @@ package eu.eudat.controllers;
|
||||||
import eu.eudat.data.entities.Dataset;
|
import eu.eudat.data.entities.Dataset;
|
||||||
import eu.eudat.data.query.items.table.dataset.DatasetPublicTableRequest;
|
import eu.eudat.data.query.items.table.dataset.DatasetPublicTableRequest;
|
||||||
import eu.eudat.data.query.items.table.dataset.DatasetTableRequest;
|
import eu.eudat.data.query.items.table.dataset.DatasetTableRequest;
|
||||||
|
import eu.eudat.data.query.items.table.datasetprofile.DatasetProfileTableRequestItem;
|
||||||
import eu.eudat.logic.managers.DatasetManager;
|
import eu.eudat.logic.managers.DatasetManager;
|
||||||
import eu.eudat.logic.security.claims.ClaimedAuthorities;
|
import eu.eudat.logic.security.claims.ClaimedAuthorities;
|
||||||
import eu.eudat.logic.services.ApiContext;
|
import eu.eudat.logic.services.ApiContext;
|
||||||
|
import eu.eudat.models.data.datasetprofile.DatasetProfileListingModel;
|
||||||
import eu.eudat.models.data.helpers.common.DataTableData;
|
import eu.eudat.models.data.helpers.common.DataTableData;
|
||||||
import eu.eudat.models.data.helpers.responses.ResponseItem;
|
import eu.eudat.models.data.helpers.responses.ResponseItem;
|
||||||
import eu.eudat.models.data.listingmodels.DatasetListingModel;
|
import eu.eudat.models.data.listingmodels.DatasetListingModel;
|
||||||
|
@ -57,5 +59,11 @@ public class Datasets extends BaseController {
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<Dataset>().status(ApiMessageCode.SUCCESS_MESSAGE).message(this.getApiContext().getHelpersService().getMessageSource().getMessage("dataset.public", new Object[]{}, locale)));
|
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<Dataset>().status(ApiMessageCode.SUCCESS_MESSAGE).message(this.getApiContext().getHelpersService().getMessageSource().getMessage("dataset.public", new Object[]{}, locale)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(method = RequestMethod.POST, value = {"/datasetProfilesUsedByDatasets/paged"}, produces = "application/json")
|
||||||
|
public @ResponseBody
|
||||||
|
ResponseEntity<ResponseItem<DataTableData<DatasetProfileListingModel>>> getUsingDatasetProfilesPaged(@RequestBody DatasetProfileTableRequestItem datasetProfileTableRequestItem, Principal principal) {
|
||||||
|
DataTableData<DatasetProfileListingModel> datasetProfileTableData = this.datasetManager.getDatasetProfilesUsedByDatasets(datasetProfileTableRequestItem, principal);
|
||||||
|
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DataTableData<DatasetProfileListingModel>>().status(ApiMessageCode.NO_MESSAGE).payload(datasetProfileTableData));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import eu.eudat.data.dao.entities.RegistryDao;
|
||||||
import eu.eudat.data.entities.*;
|
import eu.eudat.data.entities.*;
|
||||||
import eu.eudat.data.query.items.table.dataset.DatasetPublicTableRequest;
|
import eu.eudat.data.query.items.table.dataset.DatasetPublicTableRequest;
|
||||||
import eu.eudat.data.query.items.table.dataset.DatasetTableRequest;
|
import eu.eudat.data.query.items.table.dataset.DatasetTableRequest;
|
||||||
|
import eu.eudat.data.query.items.table.datasetprofile.DatasetProfileTableRequestItem;
|
||||||
import eu.eudat.elastic.criteria.DatasetCriteria;
|
import eu.eudat.elastic.criteria.DatasetCriteria;
|
||||||
import eu.eudat.elastic.repository.DatasetRepository;
|
import eu.eudat.elastic.repository.DatasetRepository;
|
||||||
import eu.eudat.logic.builders.BuilderFactory;
|
import eu.eudat.logic.builders.BuilderFactory;
|
||||||
|
@ -21,6 +22,7 @@ import eu.eudat.logic.utilities.documents.xml.ExportXmlBuilder;
|
||||||
import eu.eudat.models.HintedModelFactory;
|
import eu.eudat.models.HintedModelFactory;
|
||||||
import eu.eudat.models.data.datasetImport.DatasetImportField;
|
import eu.eudat.models.data.datasetImport.DatasetImportField;
|
||||||
import eu.eudat.models.data.datasetImport.DatasetImportPagedDatasetProfile;
|
import eu.eudat.models.data.datasetImport.DatasetImportPagedDatasetProfile;
|
||||||
|
import eu.eudat.models.data.datasetprofile.DatasetProfileListingModel;
|
||||||
import eu.eudat.models.data.datasetwizard.DatasetWizardModel;
|
import eu.eudat.models.data.datasetwizard.DatasetWizardModel;
|
||||||
import eu.eudat.models.data.dmp.AssociatedProfile;
|
import eu.eudat.models.data.dmp.AssociatedProfile;
|
||||||
import eu.eudat.models.data.helpers.common.DataTableData;
|
import eu.eudat.models.data.helpers.common.DataTableData;
|
||||||
|
@ -568,4 +570,18 @@ public class DatasetManager {
|
||||||
pagedDatasetProfile.buildPagedDatasetProfile(datasetprofile);
|
pagedDatasetProfile.buildPagedDatasetProfile(datasetprofile);
|
||||||
return pagedDatasetProfile;
|
return pagedDatasetProfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DataTableData<DatasetProfileListingModel> getDatasetProfilesUsedByDatasets(DatasetProfileTableRequestItem datasetProfileTableRequestItem, Principal principal) {
|
||||||
|
datasetProfileTableRequestItem.getCriteria().setFilter(DatasetProfileCriteria.DatasetProfileFilter.Datasets.getValue());
|
||||||
|
datasetProfileTableRequestItem.getCriteria().setUserId(principal.getId());
|
||||||
|
|
||||||
|
QueryableList<DatasetProfile> items = apiContext.getOperationsContext().getDatabaseRepository().getDatasetProfileDao().getWithCriteria(datasetProfileTableRequestItem.getCriteria());
|
||||||
|
List<DatasetProfileListingModel> listingModels = items.select(item -> new DatasetProfileListingModel().fromDataModel(item));
|
||||||
|
|
||||||
|
DataTableData<DatasetProfileListingModel> data = new DataTableData<>();
|
||||||
|
data.setData(listingModels);
|
||||||
|
data.setTotalCount((long) listingModels.size());
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,4 +10,5 @@ export class DatasetCriteria extends BaseCriteria {
|
||||||
public role?: number;
|
public role?: number;
|
||||||
public organisations?: string[] = [];
|
public organisations?: string[] = [];
|
||||||
public collaborators?: string[] = [];
|
public collaborators?: string[] = [];
|
||||||
|
public datasetTemplates?: string[] = [];
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import { DatasetProfileModel } from '../../model/dataset/dataset-profile';
|
||||||
import { DatasetCriteria } from '../../query/dataset/dataset-criteria';
|
import { DatasetCriteria } from '../../query/dataset/dataset-criteria';
|
||||||
import { ExploreDatasetCriteriaModel } from '../../query/explore-dataset/explore-dataset-criteria';
|
import { ExploreDatasetCriteriaModel } from '../../query/explore-dataset/explore-dataset-criteria';
|
||||||
import { BaseHttpService } from '../http/base-http.service';
|
import { BaseHttpService } from '../http/base-http.service';
|
||||||
|
import { DatasetProfileCriteria } from '../../query/dataset-profile/dataset-profile-criteria';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class DatasetService {
|
export class DatasetService {
|
||||||
|
@ -33,4 +34,8 @@ export class DatasetService {
|
||||||
getDatasetProfiles(): Observable<DatasetProfileModel[]> {
|
getDatasetProfiles(): Observable<DatasetProfileModel[]> {
|
||||||
return this.http.get<DatasetProfileModel[]>(environment.Server + 'datasetprofiles/getAll');
|
return this.http.get<DatasetProfileModel[]>(environment.Server + 'datasetprofiles/getAll');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getDatasetProfilesUsedPaged(dataTableRequest: DataTableRequest<DatasetProfileCriteria>) {
|
||||||
|
return this.http.post<DataTableData<DatasetListingModel>>(this.actionUrl + 'datasetProfilesUsedByDatasets/paged', dataTableRequest);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,19 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- End of Status Filter-->
|
<!-- End of Status Filter-->
|
||||||
|
|
||||||
|
<!-- Related Dataset Templates Filters -->
|
||||||
|
<div class="col-10 gray-container">
|
||||||
|
<h6 class="category-title">{{'CRITERIA.DATA-SETS.RELATED-DATASET-TEMPLATES' | translate}}</h6>
|
||||||
|
<mat-form-field>
|
||||||
|
<app-multiple-auto-complete [formControl]="formGroup.get('datasetTemplates')"
|
||||||
|
placeholder="{{'CRITERIA.DATA-SETS.SELECT-DATASET-TEMPLATES' | translate }}"
|
||||||
|
[configuration]="datasetTemplateAutoCompleteConfiguration">
|
||||||
|
</app-multiple-auto-complete>
|
||||||
|
<mat-icon matSuffix class="style-icon">arrow_drop_down</mat-icon>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<!-- End of Related Dataset Templates Filters -->
|
||||||
|
|
||||||
<!-- Related DMP Filters -->
|
<!-- Related DMP Filters -->
|
||||||
<div class="col-10 gray-container">
|
<div class="col-10 gray-container">
|
||||||
<h6 class="category-title">{{'CRITERIA.DATA-SETS.RELATED-DMP' | translate}}</h6>
|
<h6 class="category-title">{{'CRITERIA.DATA-SETS.RELATED-DMP' | translate}}</h6>
|
||||||
|
|
|
@ -32,6 +32,8 @@ import { ProjectCriteria } from '../../../../core/query/project/project-criteria
|
||||||
import { ProjectService } from '../../../../core/services/project/project.service';
|
import { ProjectService } from '../../../../core/services/project/project.service';
|
||||||
import { UserCriteria } from '../../../../core/query/user/user-criteria';
|
import { UserCriteria } from '../../../../core/query/user/user-criteria';
|
||||||
import { UserService } from '../../../../core/services/user/user.service';
|
import { UserService } from '../../../../core/services/user/user.service';
|
||||||
|
import { DatasetProfileCriteria } from '../../../../core/query/dataset-profile/dataset-profile-criteria';
|
||||||
|
import { DatasetService } from '../../../../core/services/dataset/dataset.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dataset-criteria-component',
|
selector: 'app-dataset-criteria-component',
|
||||||
|
@ -56,6 +58,7 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
||||||
role: new FormControl(),
|
role: new FormControl(),
|
||||||
organisations: new FormControl(),
|
organisations: new FormControl(),
|
||||||
collaborators: new FormControl(),
|
collaborators: new FormControl(),
|
||||||
|
datasetTemplates: new FormControl(),
|
||||||
tags: new FormControl()
|
tags: new FormControl()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -66,6 +69,13 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
||||||
titleFn: (item) => item['name']
|
titleFn: (item) => item['name']
|
||||||
};
|
};
|
||||||
|
|
||||||
|
datasetTemplateAutoCompleteConfiguration: MultipleAutoCompleteConfiguration = {
|
||||||
|
filterFn: this.filterDatasetTemplate.bind(this),
|
||||||
|
initialItems: (excludedItems: any[]) => this.filterDatasetTemplate('').map(result => result.filter(resultItem => excludedItems.map(x => x.id).indexOf(resultItem.id) === -1)),
|
||||||
|
displayFn: (item) => item['label'],
|
||||||
|
titleFn: (item) => item['label']
|
||||||
|
};
|
||||||
|
|
||||||
dmpAutoCompleteConfiguration = {
|
dmpAutoCompleteConfiguration = {
|
||||||
filterFn: (x, excluded) => this.filterDmps(x).map(x => x.data),
|
filterFn: (x, excluded) => this.filterDmps(x).map(x => x.data),
|
||||||
initialItems: (extraData) => this.filterDmps('').map(x => x.data),
|
initialItems: (extraData) => this.filterDmps('').map(x => x.data),
|
||||||
|
@ -107,6 +117,7 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
||||||
public projectService: ProjectService,
|
public projectService: ProjectService,
|
||||||
private organisationService: OrganisationService,
|
private organisationService: OrganisationService,
|
||||||
private userService: UserService,
|
private userService: UserService,
|
||||||
|
private datasetService: DatasetService,
|
||||||
fb: FormBuilder
|
fb: FormBuilder
|
||||||
) {
|
) {
|
||||||
super(new ValidationErrorModel());
|
super(new ValidationErrorModel());
|
||||||
|
@ -139,7 +150,9 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
||||||
this.formGroup.get('collaborators').valueChanges
|
this.formGroup.get('collaborators').valueChanges
|
||||||
.pipe(takeUntil(this._destroyed))
|
.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(x => this.controlModified());
|
.subscribe(x => this.controlModified());
|
||||||
|
this.formGroup.get('datasetTemplates').valueChanges
|
||||||
|
.pipe(takeUntil(this._destroyed))
|
||||||
|
.subscribe(x => this.controlModified());
|
||||||
// if (this.criteria == null) { this.criteria = {}; }
|
// if (this.criteria == null) { this.criteria = {}; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,6 +163,7 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
||||||
this.formGroup.get('status').patchValue(criteria.status);
|
this.formGroup.get('status').patchValue(criteria.status);
|
||||||
this.formGroup.get('role').patchValue(criteria.role);
|
this.formGroup.get('role').patchValue(criteria.role);
|
||||||
this.formGroup.get('collaborators').patchValue(criteria.collaborators);
|
this.formGroup.get('collaborators').patchValue(criteria.collaborators);
|
||||||
|
this.formGroup.get('datasetTemplates').patchValue(criteria.datasetTemplates);
|
||||||
// this.criteria = criteria;
|
// this.criteria = criteria;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,6 +192,15 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
||||||
return this.externalSourcesService.searchDatasetTags(requestItem);
|
return this.externalSourcesService.searchDatasetTags(requestItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
filterDatasetTemplate(query: string) {
|
||||||
|
const fields: Array<string> = new Array<string>();
|
||||||
|
fields.push('asc');
|
||||||
|
const datasetTemplateRequestItem: DataTableRequest<DatasetProfileCriteria> = new DataTableRequest(0, null, { fields: fields });
|
||||||
|
datasetTemplateRequestItem.criteria = new DatasetProfileCriteria();
|
||||||
|
datasetTemplateRequestItem.criteria.like = query;
|
||||||
|
return this.datasetService.getDatasetProfilesUsedPaged(datasetTemplateRequestItem).map(x => x.data);
|
||||||
|
}
|
||||||
|
|
||||||
filterDmps(value: string): Observable<DataTableData<DmpListingModel>> {
|
filterDmps(value: string): Observable<DataTableData<DmpListingModel>> {
|
||||||
const fields: Array<string> = new Array<string>();
|
const fields: Array<string> = new Array<string>();
|
||||||
fields.push('asc');
|
fields.push('asc');
|
||||||
|
|
|
@ -115,6 +115,9 @@ export class DatasetListingComponent extends BaseComponent implements OnInit, IB
|
||||||
if (value.organisations) {
|
if (value.organisations) {
|
||||||
request.criteria.organisations = value.organisations.map(x => x.id);
|
request.criteria.organisations = value.organisations.map(x => x.id);
|
||||||
}
|
}
|
||||||
|
if (value.datasetTemplates) {
|
||||||
|
request.criteria.datasetTemplates = value.datasetTemplates.map(x => x.id)
|
||||||
|
}
|
||||||
// if (this.itemId) {
|
// if (this.itemId) {
|
||||||
// // request.criteria.groupIds = [this.itemId];
|
// // request.criteria.groupIds = [this.itemId];
|
||||||
// request.criteria.allVersions = true;
|
// request.criteria.allVersions = true;
|
||||||
|
|
|
@ -547,7 +547,9 @@
|
||||||
"SELECT-DMP": "Select DMP",
|
"SELECT-DMP": "Select DMP",
|
||||||
"RELATED-DMP": "Related DMPs",
|
"RELATED-DMP": "Related DMPs",
|
||||||
"SELECT-COLLABORATORS": "Select Collaborators",
|
"SELECT-COLLABORATORS": "Select Collaborators",
|
||||||
"RELATED-COLLABORATORS": "Related Collaborators"
|
"RELATED-COLLABORATORS": "Related Collaborators",
|
||||||
|
"SELECT-DATASET-TEMPLATES": "Select Dataset Templates",
|
||||||
|
"RELATED-DATASET-TEMPLATES": "Related Dataset Templates"
|
||||||
},
|
},
|
||||||
"DMP": {
|
"DMP": {
|
||||||
"LIKE": "Search DMPs",
|
"LIKE": "Search DMPs",
|
||||||
|
|
Loading…
Reference in New Issue