diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java index 5e301a195..0958aacf2 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java @@ -353,7 +353,7 @@ public class DataManagementPlanManager { .stream().map(x -> UUID.fromString(x.getId())).collect(Collectors.toList()))) .update(root -> root.get("status"), Dataset.Status.FINALISED.getValue()); } - if (dataManagementPlan.getAssociatedUsers().stream().filter(item -> item.getId() == principal.getId()).collect(Collectors.toList()).size() == 0) + if (dataManagementPlan.getAssociatedUsers().size() == 0) assignUser(newDmp, user, apiContext); } diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/QuickWizardManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/QuickWizardManager.java index 7cb5f7f15..aff6e8ee4 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/QuickWizardManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/QuickWizardManager.java @@ -34,7 +34,7 @@ public class QuickWizardManager { eu.eudat.data.entities.Project projectEntity = project.toDataModel(); projectEntity.setType(eu.eudat.data.entities.Project.ProjectType.INTERNAL.getValue()); projectEntity.setCreationUser(databaseRepository.getUserInfoDao().find(principal.getId())); - Project projectEntityRet = databaseRepository.getProjectDao().createOrUpdate(projectEntity); + Project projectEntityRet = databaseRepository.getProjectDao().createOrUpdate(projectEntity); return projectEntityRet; } @@ -44,9 +44,18 @@ public class QuickWizardManager { createProjectIfItDoesntExist(newDmp, user); newDmp.setCreator(user); DMP dmpret = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().createOrUpdate(newDmp); + if (dataManagementPlan.getAssociatedUsers().size() == 0) + assignUser(newDmp, user, apiContext); return dmpret; } + private void assignUser(DMP dmp, UserInfo userInfo, ApiContext apiContext) { + UserDMP userDMP = new UserDMP(); + userDMP.setDmp(dmp); + userDMP.setUser(userInfo); + userDMP.setRole(UserDMP.UserDMPRoles.OWNER.getValue()); + apiContext.getOperationsContext().getDatabaseRepository().getUserDmpDao().createOrUpdate(userDMP); + } private void createProjectIfItDoesntExist(DMP newDmp, UserInfo userInfo) { if (newDmp.getProject() != null) { @@ -61,6 +70,4 @@ public class QuickWizardManager { } } } - - }