diff --git a/src/main/java/org/olat/course/run/CourseRuntimeController.java b/src/main/java/org/olat/course/run/CourseRuntimeController.java index 0ee3ca10d5537fd371262f3078f46b66a2455726..1a09f8586bcbcb60783e66ecfc48440bed1d6bf0 100644 --- a/src/main/java/org/olat/course/run/CourseRuntimeController.java +++ b/src/main/java/org/olat/course/run/CourseRuntimeController.java @@ -825,6 +825,8 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im if(event instanceof BusinessGroupModifiedEvent) { processBusinessGroupModifiedEvent((BusinessGroupModifiedEvent)event); } + } else if (lifeCycleChangeCtr == source) { + loadRepositoryEntry(); } else if (currentToolCtr == source) { if (event == Event.DONE_EVENT) { // special check for editor diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryLifeCycleChangeController.java b/src/main/java/org/olat/repository/ui/RepositoryEntryLifeCycleChangeController.java index 83d1e33798977e9845164bed2b3eef25fd8f0d6a..d2cadc87c10cca1e0f7b7598ae61de6ca551ac8f 100644 --- a/src/main/java/org/olat/repository/ui/RepositoryEntryLifeCycleChangeController.java +++ b/src/main/java/org/olat/repository/ui/RepositoryEntryLifeCycleChangeController.java @@ -22,6 +22,7 @@ package org.olat.repository.ui; import java.util.Collections; import java.util.List; +import org.olat.core.commons.persistence.DB; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; @@ -74,6 +75,8 @@ public class RepositoryEntryLifeCycleChangeController extends BasicController{ private ConfirmDeleteController confirmDeleteCtrl; private CloseableModalController cmc; + @Autowired + private DB dbInstance; @Autowired private RepositoryService repositoryService; @Autowired @@ -136,6 +139,7 @@ public class RepositoryEntryLifeCycleChangeController extends BasicController{ cleanUp(); } else if (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) { cleanUp(); + dbInstance.commit();//commit before sending events fireEvent(ureq, deletedEvent); EntryChangedEvent e = new EntryChangedEvent(re, getIdentity(), Change.deleted, "runtime"); ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, RepositoryService.REPOSITORY_EVENT_ORES); @@ -172,6 +176,7 @@ public class RepositoryEntryLifeCycleChangeController extends BasicController{ re = repositoryService.loadByKey(re.getKey()); lifeCycleVC.remove(closeLink); closeLink = null; + dbInstance.commit();//commit before sending events fireEvent(ureq, closedEvent); } diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java index 24f1368679af2103170a54d1f3f3b462b3796902..13ce692575ae8941d7fa4be1fc9f3defbbfc3f2a 100644 --- a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java +++ b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java @@ -122,7 +122,7 @@ public class RepositoryEntryRuntimeController extends MainLayoutBasicController private RepositoryEntryDetailsController detailsCtrl; private RepositoryMembersController membersEditController; protected RepositoryEditDescriptionController descriptionCtrl; - private RepositoryEntryLifeCycleChangeController lifeCycleChangeCtr; + protected RepositoryEntryLifeCycleChangeController lifeCycleChangeCtr; private Dropdown tools; private Dropdown settings;