From 5ffbd92d9a23ac33bbd2a66cd13eb455ce4f6ec0 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Fri, 14 Mar 2014 09:34:18 +0100 Subject: [PATCH] OO-1011: persist new checklist --- src/main/java/de/bps/course/nodes/ChecklistCourseNode.java | 3 ++- src/main/java/de/bps/olat/modules/cl/ChecklistManager.java | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/bps/course/nodes/ChecklistCourseNode.java b/src/main/java/de/bps/course/nodes/ChecklistCourseNode.java index 5d31af9878c..796e6532d41 100644 --- a/src/main/java/de/bps/course/nodes/ChecklistCourseNode.java +++ b/src/main/java/de/bps/course/nodes/ChecklistCourseNode.java @@ -160,7 +160,8 @@ public class ChecklistCourseNode extends AbstractAccessableCourseNode { } else // this is part of a copied course, the original checklist will be copied if(getModuleConfiguration().get(CONF_CHECKLIST) != null) { - Checklist orgChecklist = ChecklistManager.getInstance().loadChecklist((Checklist) getModuleConfiguration().get(ChecklistCourseNode.CONF_CHECKLIST)); + Checklist confChecklist = (Checklist)getModuleConfiguration().get(ChecklistCourseNode.CONF_CHECKLIST); + Checklist orgChecklist = ChecklistManager.getInstance().loadChecklist(confChecklist); checklist = ChecklistManager.getInstance().copyChecklist(orgChecklist); } else { // no checklist available, create new one diff --git a/src/main/java/de/bps/olat/modules/cl/ChecklistManager.java b/src/main/java/de/bps/olat/modules/cl/ChecklistManager.java index c0441d85f05..457bde66482 100644 --- a/src/main/java/de/bps/olat/modules/cl/ChecklistManager.java +++ b/src/main/java/de/bps/olat/modules/cl/ChecklistManager.java @@ -95,7 +95,12 @@ public class ChecklistManager { */ public Checklist saveChecklist(Checklist cl) { cl.setLastModified(new Date()); - return DBFactory.getInstance().getCurrentEntityManager().merge(cl); + if(cl.getKey() == null) { + DBFactory.getInstance().getCurrentEntityManager().persist(cl); + } else { + cl = DBFactory.getInstance().getCurrentEntityManager().merge(cl); + } + return cl; } /** -- GitLab