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 6ae8aad7a..be81240d1 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 @@ -397,6 +397,11 @@ public class DataManagementPlanManager { public void createOrUpdate(ApiContext apiContext, DataManagementPlanEditorModel dataManagementPlan, Principal principal) throws Exception { + DMP dmp1 = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().find(dataManagementPlan.getId()); + if (dmp1.getStatus().equals(DMP.DMPStatus.FINALISED.getValue())) { + throw new Exception("DMP is finalized, therefore cannot be edited."); + } + DMP newDmp = dataManagementPlan.toDataModel(); UserInfo user = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().find(principal.getId()); @@ -406,8 +411,6 @@ public class DataManagementPlanManager { try { DMP dmp = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().find(dataManagementPlan.getId()); - if (dmp.getStatus().equals(DMP.DMPStatus.FINALISED.getValue())) - newDmp.setStatus(DMP.DMPStatus.FINALISED.getValue()); newDmp.setCreated(dmp.getCreated()); if (dmp.getUsers().stream().filter(userInfo -> userInfo.getUser().getId() == principal.getId()) .collect(Collectors.toList()).size() == 0) {