Fixes bug on create Dmp not saving the role on the Database.
This commit is contained in:
parent
1747e62a58
commit
ebfde3e992
|
@ -341,6 +341,11 @@ public class DataManagementPlanManager {
|
||||||
UserInfo user = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().find(principal.getId());
|
UserInfo user = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().find(principal.getId());
|
||||||
createProjectIfItDoesntExist(newDmp, apiContext.getOperationsContext().getDatabaseRepository().getProjectDao(), user);
|
createProjectIfItDoesntExist(newDmp, apiContext.getOperationsContext().getDatabaseRepository().getProjectDao(), user);
|
||||||
newDmp.setCreator(user);
|
newDmp.setCreator(user);
|
||||||
|
List<UserDMP> users = new ArrayList<>();
|
||||||
|
UserDMP userDMP = new UserDMP();
|
||||||
|
userDMP.setUser(user);
|
||||||
|
users.add(userDMP);
|
||||||
|
newDmp.setUsers(new HashSet<>(users));
|
||||||
newDmp = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().createOrUpdate(newDmp);
|
newDmp = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().createOrUpdate(newDmp);
|
||||||
if (dataManagementPlan.getStatus() == DMP.DMPStatus.FINALISED.getValue()) {
|
if (dataManagementPlan.getStatus() == DMP.DMPStatus.FINALISED.getValue()) {
|
||||||
apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao()
|
apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao()
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class InvitationServiceImpl implements InvitationService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void assignToDmp(DMPDao dmpDao, eu.eudat.data.entities.UserDMP user, DMP dmp) {
|
public void assignToDmp(DMPDao dmpDao, eu.eudat.data.entities.UserDMP user, DMP dmp) {
|
||||||
if (!dmp.getUsers().stream().map(x -> x.getId()).collect(Collectors.toList()).contains(user.getId())) {
|
if (!dmp.getUsers().stream().map(x -> x.getUser().getId()).collect(Collectors.toList()).contains(user.getId())) {
|
||||||
dmp.getUsers().add(user);
|
dmp.getUsers().add(user);
|
||||||
dmpDao.createOrUpdate(dmp);
|
dmpDao.createOrUpdate(dmp);
|
||||||
}
|
}
|
||||||
|
|
|
@ -274,14 +274,16 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
|
||||||
if (this.dynamicFields != null)
|
if (this.dynamicFields != null)
|
||||||
dataManagementPlanEntity.setDmpProperties(JSONObject.toJSONString(this.dynamicFields.stream().filter(item -> item.getValue() != null).collect(Collectors.toMap(DynamicFieldWithValue::getId, DynamicFieldWithValue::getValue))));
|
dataManagementPlanEntity.setDmpProperties(JSONObject.toJSONString(this.dynamicFields.stream().filter(item -> item.getValue() != null).collect(Collectors.toMap(DynamicFieldWithValue::getId, DynamicFieldWithValue::getValue))));
|
||||||
|
|
||||||
List<UserDMP> userDMPList = new LinkedList<>();
|
if (this.associatedUsers != null && !this.associatedUsers.isEmpty()) {
|
||||||
for(UserListingModel userListingModel: this.associatedUsers) {
|
List<UserDMP> userDMPList = new LinkedList<>();
|
||||||
UserDMP userDMP = new UserDMP();
|
for(UserListingModel userListingModel: this.associatedUsers) {
|
||||||
userDMP.setUser(userListingModel.toDataModel());
|
UserDMP userDMP = new UserDMP();
|
||||||
userDMPList.add(userDMP);
|
userDMP.setUser(userListingModel.toDataModel());
|
||||||
|
userDMPList.add(userDMP);
|
||||||
|
}
|
||||||
|
dataManagementPlanEntity.setUsers((Set<UserDMP>) userDMPList);
|
||||||
}
|
}
|
||||||
|
|
||||||
dataManagementPlanEntity.setUsers((Set<UserDMP>) userDMPList);
|
|
||||||
return dataManagementPlanEntity;
|
return dataManagementPlanEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue