Implemets Collaborators filter to Dataset and DMP listing. (Ticket #77)
This commit is contained in:
parent
61afbb8848
commit
4a1b9984c7
|
@ -17,6 +17,7 @@ public class DataManagementPlanCriteria extends Criteria<DMP> {
|
|||
private Integer status;
|
||||
private List<String> organisations;
|
||||
private Integer role;
|
||||
private List<UUID> collaborators;
|
||||
|
||||
public Date getPeriodStart() {
|
||||
return periodStart;
|
||||
|
@ -73,4 +74,11 @@ public class DataManagementPlanCriteria extends Criteria<DMP> {
|
|||
public void setRole(Integer role) {
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
public List<UUID> getCollaborators() {
|
||||
return collaborators;
|
||||
}
|
||||
public void setCollaborators(List<UUID> collaborators) {
|
||||
this.collaborators = collaborators;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ public class DatasetCriteria extends Criteria<Dataset> {
|
|||
private List<String> organisations;
|
||||
private Integer role;
|
||||
private List<UUID> projects;
|
||||
private List<UUID> collaborators;
|
||||
|
||||
public boolean getAllVersions() {
|
||||
return allVersions;
|
||||
|
@ -89,4 +90,11 @@ public class DatasetCriteria extends Criteria<Dataset> {
|
|||
public void setProjects(List<UUID> projects) {
|
||||
this.projects = projects;
|
||||
}
|
||||
|
||||
public List<UUID> getCollaborators() {
|
||||
return collaborators;
|
||||
}
|
||||
public void setCollaborators(List<UUID> collaborators) {
|
||||
this.collaborators = collaborators;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,11 +8,11 @@ import java.util.List;
|
|||
public class UserInfoCriteria extends Criteria<UserInfo> {
|
||||
private String email;
|
||||
private List<Integer> appRoles;
|
||||
private String collaboratorLike;
|
||||
|
||||
public List<Integer> getAppRoles() {
|
||||
return appRoles;
|
||||
}
|
||||
|
||||
public void setAppRoles(List<Integer> appRoles) {
|
||||
this.appRoles = appRoles;
|
||||
}
|
||||
|
@ -20,8 +20,14 @@ public class UserInfoCriteria extends Criteria<UserInfo> {
|
|||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getCollaboratorLike() {
|
||||
return collaboratorLike;
|
||||
}
|
||||
public void setCollaboratorLike(String collaboratorLike) {
|
||||
this.collaboratorLike = collaboratorLike;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import eu.eudat.queryable.types.SelectionField;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
import schemasMicrosoftComOfficeOffice.LeftDocument;
|
||||
|
||||
import javax.persistence.criteria.JoinType;
|
||||
import java.util.Arrays;
|
||||
|
@ -64,6 +65,9 @@ public class DMPDaoImpl extends DatabaseAccess<DMP> implements DMPDao {
|
|||
if (criteria.getOrganisations() != null && !criteria.getOrganisations().isEmpty()) {
|
||||
query.where((builder, root) -> root.join("organisations").get("reference").in(criteria.getOrganisations()));
|
||||
}
|
||||
if (criteria.getCollaborators() != null && !criteria.getCollaborators().isEmpty()) {
|
||||
query.where((builder, root) -> root.join("users", JoinType.LEFT).join("user", JoinType.LEFT).get("id").in(criteria.getCollaborators()));
|
||||
}
|
||||
query.where((builder, root) -> builder.notEqual(root.get("status"), DMP.DMPStatus.DELETED.getValue()));
|
||||
return query;
|
||||
}
|
||||
|
|
|
@ -52,6 +52,9 @@ public class DatasetDaoImpl extends DatabaseAccess<Dataset> implements DatasetDa
|
|||
if (criteria.getProjects() != null && !criteria.getProjects().isEmpty()) {
|
||||
query.where((builder, root) -> root.join("dmp").join("project").get("id").in(criteria.getProjects()));
|
||||
}
|
||||
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) -> builder.notEqual(root.get("status"), Dataset.Status.DELETED.getValue())));
|
||||
return query;
|
||||
}
|
||||
|
|
|
@ -66,6 +66,13 @@ public class Users extends BaseController {
|
|||
userManager.updateSettings(settings, principal);
|
||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<UserProfile>().status(ApiMessageCode.NO_MESSAGE));
|
||||
}
|
||||
|
||||
@RequestMapping(method = RequestMethod.POST, value = {"/getCollaboratorsPaged"}, consumes = "application/json", produces = "application/json")
|
||||
public @ResponseBody
|
||||
ResponseEntity<ResponseItem<DataTableData<UserListingModel>>> getCollaboratorsPaged(@Valid @RequestBody UserInfoTableRequestItem userInfoTableRequestItem, @ClaimedAuthorities(claims = {ADMIN}) Principal principal) throws Exception {
|
||||
DataTableData<UserListingModel> dataTable = userManager.getCollaboratorsPaged(userInfoTableRequestItem, principal);
|
||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DataTableData<UserListingModel>>().payload(dataTable).status(ApiMessageCode.NO_MESSAGE));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package eu.eudat.logic.managers;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import eu.eudat.data.dao.criteria.DataManagementPlanCriteria;
|
||||
import eu.eudat.data.dao.entities.DMPDao;
|
||||
import eu.eudat.data.dao.entities.UserInfoDao;
|
||||
import eu.eudat.data.entities.DMP;
|
||||
import eu.eudat.data.entities.UserDMP;
|
||||
import eu.eudat.data.entities.UserRole;
|
||||
import eu.eudat.data.query.items.table.userinfo.UserInfoTableRequestItem;
|
||||
import eu.eudat.exceptions.security.UnauthorisedException;
|
||||
|
@ -15,6 +19,7 @@ import eu.eudat.models.data.dmp.DataManagementPlan;
|
|||
import eu.eudat.models.data.helpers.common.DataTableData;
|
||||
import eu.eudat.models.data.login.Credentials;
|
||||
import eu.eudat.models.data.security.Principal;
|
||||
import eu.eudat.models.data.userinfo.UserInfo;
|
||||
import eu.eudat.models.data.userinfo.UserListingModel;
|
||||
import eu.eudat.models.data.userinfo.UserProfile;
|
||||
import eu.eudat.queryable.QueryableList;
|
||||
|
@ -25,10 +30,7 @@ import org.w3c.dom.Document;
|
|||
import org.w3c.dom.Element;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
|
@ -93,4 +95,49 @@ public class UserManager {
|
|||
if (principal == null) throw new UnauthorisedException("Could not Sign In User");
|
||||
return principal;
|
||||
}
|
||||
|
||||
public DataTableData<UserListingModel> getCollaboratorsPaged(UserInfoTableRequestItem userInfoTableRequestItem, Principal principal) throws Exception {
|
||||
//UserInfoDao userInfoDao = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao();
|
||||
DMPDao dmpDao = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao();
|
||||
|
||||
// Gets all the DMPs the user is associated.
|
||||
DataManagementPlanCriteria dataManagementPlanCriteria = new DataManagementPlanCriteria();
|
||||
QueryableList<DMP> dmpItmes = dmpDao.getWithCriteria(dataManagementPlanCriteria);
|
||||
QueryableList<DMP> dmpAuthItems = dmpDao.getAuthenticated(dmpItmes, principal.getId());
|
||||
List<DMP> dmpList = dmpAuthItems.toList();
|
||||
|
||||
// List to place the associated users.
|
||||
List<UserListingModel> associatedUsersList = new LinkedList<>();
|
||||
|
||||
// Iterate through the DMP list and get the users associated.
|
||||
for (DMP dmp : dmpList) {
|
||||
for (UserDMP userDMP : dmp.getUsers()) {
|
||||
if (userDMP.getUser().getId() != principal.getId()) {
|
||||
associatedUsersList.add(new UserListingModel().fromDataModel(userDMP.getUser()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove duplicates from the associated users list.
|
||||
associatedUsersList = associatedUsersList.stream().distinct().collect(Collectors.toList());
|
||||
|
||||
// Filter using the criteria.
|
||||
List<UserListingModel> associatedUsersListFiltered = new LinkedList<>();
|
||||
associatedUsersList.stream()
|
||||
.filter(item -> item.getName().toLowerCase().contains(userInfoTableRequestItem.getCriteria().getCollaboratorLike().toLowerCase())).forEach(
|
||||
o -> {
|
||||
associatedUsersListFiltered.add(o);
|
||||
}
|
||||
);
|
||||
|
||||
/*QueryableList<eu.eudat.data.entities.UserInfo> users = userInfoDao.getWithCriteria(userInfoTableRequestItem.getCriteria()).withHint(HintedModelFactory.getHint(UserListingModel.class));
|
||||
QueryableList<eu.eudat.data.entities.UserInfo> pagedUsers = PaginationManager.applyPaging(users, userInfoTableRequestItem);*/
|
||||
|
||||
//List<UserListingModel> modelUsers = pagedUsers.select(item -> new listing model().fromDataModel(item));
|
||||
|
||||
DataTableData<UserListingModel> dataTableData = new DataTableData<>();
|
||||
dataTableData.setData(associatedUsersListFiltered);
|
||||
dataTableData.setTotalCount((long)associatedUsersListFiltered.size());
|
||||
return dataTableData;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,4 +9,5 @@ export class DatasetCriteria extends BaseCriteria {
|
|||
public allVersions?: boolean;
|
||||
public role?: number;
|
||||
public organisations?: string[] = [];
|
||||
public collaborators?: string[] = [];
|
||||
}
|
||||
|
|
|
@ -9,4 +9,5 @@ export class DmpCriteria extends BaseCriteria {
|
|||
public allVersions?: boolean;
|
||||
public status?: number;
|
||||
public role?: number;
|
||||
public collaborators?: string[] = [];
|
||||
}
|
||||
|
|
|
@ -4,4 +4,5 @@ import { BaseCriteria } from "../base-criteria";
|
|||
export class UserCriteria extends BaseCriteria {
|
||||
public label: String;
|
||||
public appRoles: AppRole[];
|
||||
public collaboratorLike: string;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ export class UserService {
|
|||
|
||||
constructor(private http: BaseHttpService) {
|
||||
|
||||
this.actionUrl = environment.Server + '/user/';
|
||||
this.actionUrl = environment.Server + 'user/';
|
||||
}
|
||||
|
||||
getPaged(dataTableRequest: DataTableRequest<UserCriteria>): Observable<DataTableData<UserListingModel>> {
|
||||
|
@ -42,4 +42,8 @@ export class UserService {
|
|||
updateUserSettings(value: any): Observable<any[]> {
|
||||
return this.http.post<any[]>(this.actionUrl + 'settings', value, { headers: this.headers });
|
||||
}
|
||||
|
||||
getCollaboratorsPaged(dataTableRequest: DataTableRequest<UserCriteria>): Observable<DataTableData<UserListingModel>> {
|
||||
return this.http.post<DataTableData<UserListingModel>>(this.actionUrl + 'getCollaboratorsPaged', JSON.stringify(dataTableRequest), { headers: this.headers });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,6 +49,19 @@
|
|||
</div>
|
||||
<!-- End of Related Projects Filters -->
|
||||
|
||||
<!-- Related Collaborators Filters -->
|
||||
<div class="col-10 gray-container">
|
||||
<h6 class="category-title">{{'CRITERIA.DATA-SETS.RELATED-COLLABORATORS' | translate}}</h6>
|
||||
<mat-form-field>
|
||||
<app-multiple-auto-complete [formControl]="formGroup.get('collaborators')"
|
||||
placeholder="{{'CRITERIA.DATA-SETS.SELECT-COLLABORATORS' | translate }}"
|
||||
[configuration]="collaboratorsAutoCompleteConfiguration">
|
||||
</app-multiple-auto-complete>
|
||||
<mat-icon matSuffix class="style-icon">arrow_drop_down</mat-icon>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<!-- End of Related Collaborators Filters -->
|
||||
|
||||
<!-- Role Filter -->
|
||||
<div class="col-10 gray-container">
|
||||
<h6 class="category-title">{{'CRITERIA.DATA-SETS.ROLE' | translate }}</h6>
|
||||
|
|
|
@ -30,6 +30,8 @@ import { OrganisationCriteria } from '../../../../core/query/organisation/organi
|
|||
import { OrganisationService } from '../../../../core/services/organisation/organisation.service';
|
||||
import { ProjectCriteria } from '../../../../core/query/project/project-criteria';
|
||||
import { ProjectService } from '../../../../core/services/project/project.service';
|
||||
import { UserCriteria } from '../../../../core/query/user/user-criteria';
|
||||
import { UserService } from '../../../../core/services/user/user.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-dataset-criteria-component',
|
||||
|
@ -52,7 +54,8 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
|||
projects: new FormControl(),
|
||||
status: new FormControl(),
|
||||
role: new FormControl(),
|
||||
organisations: new FormControl()
|
||||
organisations: new FormControl(),
|
||||
collaborators: new FormControl(),
|
||||
});
|
||||
|
||||
tagsAutoCompleteConfiguration = {
|
||||
|
@ -69,6 +72,13 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
|||
titleFn: (item) => item['label']
|
||||
};
|
||||
|
||||
collaboratorsAutoCompleteConfiguration: MultipleAutoCompleteConfiguration = {
|
||||
filterFn: this.filterCollaborators.bind(this),
|
||||
initialItems: (excludedItems: any[]) => this.filterCollaborators('').map(result => result.filter(resultItem => excludedItems.map(x => x.id).indexOf(resultItem.id) === -1)),
|
||||
displayFn: (item) => item['name'],
|
||||
titleFn: (item) => item['name']
|
||||
};
|
||||
|
||||
projectAutoCompleteConfiguration: MultipleAutoCompleteConfiguration = {
|
||||
filterFn: this.filterProject.bind(this),
|
||||
initialItems: (excludedItems: any[]) => this.filterProject('').map(result => result.filter(resultItem => excludedItems.map(x => x.id).indexOf(resultItem.id) === -1)),
|
||||
|
@ -95,6 +105,7 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
|||
private language: TranslateService,
|
||||
public projectService: ProjectService,
|
||||
private organisationService: OrganisationService,
|
||||
private userService: UserService,
|
||||
fb: FormBuilder
|
||||
) {
|
||||
super(new ValidationErrorModel());
|
||||
|
@ -124,6 +135,10 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
|||
this.formGroup.get('organisations').valueChanges
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(x => this.controlModified());
|
||||
this.formGroup.get('collaborators').valueChanges
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(x => this.controlModified());
|
||||
|
||||
// if (this.criteria == null) { this.criteria = {}; }
|
||||
}
|
||||
|
||||
|
@ -131,8 +146,9 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
|||
this.formGroup.get('like').patchValue(criteria.like);
|
||||
this.formGroup.get('dmpIds').patchValue(criteria.dmpIds);
|
||||
this.formGroup.get('projects').patchValue(criteria.projects);
|
||||
this.formGroup.get('status').patchValue(criteria.like);
|
||||
this.formGroup.get('role').patchValue(criteria.like);
|
||||
this.formGroup.get('status').patchValue(criteria.status);
|
||||
this.formGroup.get('role').patchValue(criteria.role);
|
||||
this.formGroup.get('collaborators').patchValue(criteria.collaborators);
|
||||
// this.criteria = criteria;
|
||||
}
|
||||
|
||||
|
@ -188,6 +204,15 @@ export class DatasetCriteriaComponent extends BaseCriteriaComponent implements O
|
|||
return this.organisationService.searchInternalOrganisations(dataTableRequest).map(x => x.data);
|
||||
}
|
||||
|
||||
filterCollaborators(query: string) {
|
||||
const fields: Array<string> = new Array<string>();
|
||||
fields.push('asc');
|
||||
const collaboratorsRequestItem: DataTableRequest<UserCriteria> = new DataTableRequest(0, null, { fields: fields });
|
||||
collaboratorsRequestItem.criteria = new UserCriteria();
|
||||
collaboratorsRequestItem.criteria.collaboratorLike = query;
|
||||
return this.userService.getCollaboratorsPaged(collaboratorsRequestItem).map(x => x.data);
|
||||
}
|
||||
|
||||
fileImport(event) {
|
||||
const dialogRef = this.dialog.open(DatasetUploadDialogue, {
|
||||
data: {
|
||||
|
|
|
@ -85,6 +85,9 @@ export class DatasetListingComponent extends BaseComponent implements OnInit, IB
|
|||
allVersions: value.allVersions,
|
||||
role: value.role
|
||||
}
|
||||
if (value.collaborators) {
|
||||
request.criteria.collaborators = value.collaborators.map(x => x.id)
|
||||
}
|
||||
if (value.dmpIds) {
|
||||
request.criteria.dmpIds = value.dmpIds.map(x => x.id);
|
||||
}
|
||||
|
|
|
@ -38,13 +38,13 @@
|
|||
|
||||
<!-- Collaborators Filter -->
|
||||
<div *ngIf="showProject" class="col-10 gray-container">
|
||||
<h6 class="category-title">{{ 'DMP-RELATED-COLLABORATOR.RELATED-COLLABORATOR' | translate}}</h6>
|
||||
<h6 class="category-title">{{ 'CRITERIA.DMP.RELATED-COLLABORATORS' | translate}}</h6>
|
||||
<mat-form-field>
|
||||
<input matInput placeholder="{{ 'DMP-RELATED-COLLABORATOR.SELECT-COLLABORATORS' | translate }}">
|
||||
<!-- <app-multiple-auto-complete [formControl]="formGroup.get('projects')"
|
||||
placeholder="{{'CRITERIA.DMP.SELECT-PROJECTS' | translate}}"
|
||||
[configuration]="projectAutoCompleteConfiguration">
|
||||
</app-multiple-auto-complete> -->
|
||||
<input matInput placeholder="{{ 'CRITERIA.DMP.SELECT-COLLABORATORS' | translate }}">
|
||||
<app-multiple-auto-complete [formControl]="formGroup.get('collaborators')"
|
||||
placeholder="{{'CRITERIA.DMP.SELECT-COLLABORATORS' | translate}}"
|
||||
[configuration]="collaboratorsAutoCompleteConfiguration">
|
||||
</app-multiple-auto-complete>
|
||||
<mat-icon matSuffix class="style-icon">arrow_drop_down</mat-icon>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
|
|
@ -21,6 +21,8 @@ import { OrganisationService } from '../../../../core/services/organisation/orga
|
|||
import { OrganisationCriteria } from '../../../../core/query/organisation/organisation-criteria';
|
||||
import { OrganizationModel } from '../../../../core/model/organisation/organization';
|
||||
import { DataTableData } from '../../../../core/model/data-table/data-table-data';
|
||||
import { UserCriteria } from '../../../../core/query/user/user-criteria';
|
||||
import { UserService } from '../../../../core/services/user/user.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-dmp-criteria-component',
|
||||
|
@ -40,10 +42,18 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni
|
|||
like: new FormControl(),
|
||||
projects: new FormControl(),
|
||||
status: new FormControl(),
|
||||
role: new FormControl,
|
||||
organisations: new FormControl(),
|
||||
role: new FormControl
|
||||
collaborators: new FormControl(),
|
||||
});
|
||||
|
||||
collaboratorsAutoCompleteConfiguration: MultipleAutoCompleteConfiguration = {
|
||||
filterFn: this.filterCollaborators.bind(this),
|
||||
initialItems: (excludedItems: any[]) => this.filterCollaborators('').map(result => result.filter(resultItem => excludedItems.map(x => x.id).indexOf(resultItem.id) === -1)),
|
||||
displayFn: (item) => item['name'],
|
||||
titleFn: (item) => item['name']
|
||||
};
|
||||
|
||||
projectAutoCompleteConfiguration: MultipleAutoCompleteConfiguration = {
|
||||
filterFn: this.filterProject.bind(this),
|
||||
initialItems: (excludedItems: any[]) => this.filterProject('').map(result => result.filter(resultItem => excludedItems.map(x => x.id).indexOf(resultItem.id) === -1)),
|
||||
|
@ -64,7 +74,8 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni
|
|||
private dmpService: DmpService,
|
||||
public formBuilder: FormBuilder,
|
||||
private dialog: MatDialog,
|
||||
private organisationService: OrganisationService
|
||||
private organisationService: OrganisationService,
|
||||
private userService: UserService,
|
||||
) {
|
||||
super(new ValidationErrorModel());
|
||||
}
|
||||
|
@ -86,6 +97,9 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni
|
|||
this.formGroup.get('like').valueChanges
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(x => this.controlModified());
|
||||
this.formGroup.get('collaborators').valueChanges
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(x => this.controlModified());
|
||||
//if (this.criteria == null) { this.criteria = new DataManagementPlanCriteria(); }
|
||||
}
|
||||
|
||||
|
@ -93,6 +107,8 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni
|
|||
this.formGroup.get('like').patchValue(criteria.like);
|
||||
this.formGroup.get('projects').patchValue(criteria.projects);
|
||||
this.formGroup.get('status').patchValue(criteria.status);
|
||||
this.formGroup.get('role').patchValue(criteria.role);
|
||||
this.formGroup.get('collaborators').patchValue(criteria.collaborators);
|
||||
}
|
||||
|
||||
onCallbackError(error: any) {
|
||||
|
@ -128,6 +144,15 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni
|
|||
return this.organisationService.searchInternalOrganisations(dataTableRequest).map(x => x.data);
|
||||
}
|
||||
|
||||
filterCollaborators(query: string) {
|
||||
const fields: Array<string> = new Array<string>();
|
||||
fields.push('asc');
|
||||
const collaboratorsRequestItem: DataTableRequest<UserCriteria> = new DataTableRequest(0, null, { fields: fields });
|
||||
collaboratorsRequestItem.criteria = new UserCriteria();
|
||||
collaboratorsRequestItem.criteria.collaboratorLike = query;
|
||||
return this.userService.getCollaboratorsPaged(collaboratorsRequestItem).map(x => x.data);
|
||||
}
|
||||
|
||||
fileSave(event) {
|
||||
const dialogRef = this.dialog.open(DmpUploadDialogue, {
|
||||
data: {
|
||||
|
|
|
@ -100,6 +100,9 @@ export class DmpListingComponent extends BaseComponent implements OnInit, IBread
|
|||
status: value.status,
|
||||
role: value.role
|
||||
}
|
||||
if (value.collaborators) {
|
||||
request.criteria.collaborators = value.collaborators.map(x => x.id)
|
||||
}
|
||||
if (value.organisations) {
|
||||
request.criteria.organisations = value.organisations.map(x => x.id)
|
||||
}
|
||||
|
|
|
@ -493,12 +493,16 @@
|
|||
"SELECT-SPEC": "Select Dataset Specification",
|
||||
"RELATED-PROJECT": "Related Project",
|
||||
"SELECT-DMP": "Select DMP",
|
||||
"RELATED-DMP": "Related DMPs"
|
||||
"RELATED-DMP": "Related DMPs",
|
||||
"SELECT-COLLABORATORS": "Select Collaborators",
|
||||
"RELATED-COLLABORATORS": "Related Collaborators"
|
||||
},
|
||||
"DMP": {
|
||||
"LIKE": "Search DMPs",
|
||||
"PROJECTS": "Projects",
|
||||
"SELECT-PROJECTS": "Select Projects"
|
||||
"SELECT-PROJECTS": "Select Projects",
|
||||
"SELECT-COLLABORATORS": "Select Collaborators",
|
||||
"RELATED-COLLABORATORS": "Related Collaborators"
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Search",
|
||||
|
|
Loading…
Reference in New Issue