Fixes bug on create Dmp not saving the role on the Database.

This commit is contained in:
gkolokythas 2019-05-13 13:30:35 +03:00
parent 1747e62a58
commit ebfde3e992
3 changed files with 14 additions and 7 deletions

View File

@ -341,6 +341,11 @@ public class DataManagementPlanManager {
UserInfo user = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().find(principal.getId());
createProjectIfItDoesntExist(newDmp, apiContext.getOperationsContext().getDatabaseRepository().getProjectDao(), 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);
if (dataManagementPlan.getStatus() == DMP.DMPStatus.FINALISED.getValue()) {
apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao()

View File

@ -45,7 +45,7 @@ public class InvitationServiceImpl implements InvitationService {
@Override
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);
dmpDao.createOrUpdate(dmp);
}

View File

@ -274,14 +274,16 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
if (this.dynamicFields != null)
dataManagementPlanEntity.setDmpProperties(JSONObject.toJSONString(this.dynamicFields.stream().filter(item -> item.getValue() != null).collect(Collectors.toMap(DynamicFieldWithValue::getId, DynamicFieldWithValue::getValue))));
List<UserDMP> userDMPList = new LinkedList<>();
for(UserListingModel userListingModel: this.associatedUsers) {
UserDMP userDMP = new UserDMP();
userDMP.setUser(userListingModel.toDataModel());
userDMPList.add(userDMP);
if (this.associatedUsers != null && !this.associatedUsers.isEmpty()) {
List<UserDMP> userDMPList = new LinkedList<>();
for(UserListingModel userListingModel: this.associatedUsers) {
UserDMP userDMP = new UserDMP();
userDMP.setUser(userListingModel.toDataModel());
userDMPList.add(userDMP);
}
dataManagementPlanEntity.setUsers((Set<UserDMP>) userDMPList);
}
dataManagementPlanEntity.setUsers((Set<UserDMP>) userDMPList);
return dataManagementPlanEntity;
}