diff --git a/src/main/java/org/olat/repository/ui/author/ConfirmDeletePermanentlyController.java b/src/main/java/org/olat/repository/ui/author/ConfirmDeletePermanentlyController.java index 883e9157a55b2d15f094b191b3aa0059181ce0b0..6190dccee4d8de8f7c6eac42db1274ea7836b879 100644 --- a/src/main/java/org/olat/repository/ui/author/ConfirmDeletePermanentlyController.java +++ b/src/main/java/org/olat/repository/ui/author/ConfirmDeletePermanentlyController.java @@ -297,7 +297,8 @@ public class ConfirmDeletePermanentlyController extends FormBasicController { allOk = false; errorList.add(errors); } else { - fireEvent(ureq, new EntryChangedEvent(reloadedEntry, getIdentity(), Change.deleted, "delete")); + EntryChangedEvent e = new EntryChangedEvent(reloadedEntry, getIdentity(), Change.deleted, "delete"); + ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, RepositoryService.REPOSITORY_EVENT_ORES); } } } diff --git a/src/main/java/org/olat/repository/ui/author/ConfirmDeleteSoftlyController.java b/src/main/java/org/olat/repository/ui/author/ConfirmDeleteSoftlyController.java index 575aa863b333197dfec2a794d45e0d4305c16483..8b685ada8189cc9091759c941470e0bc611120ef 100644 --- a/src/main/java/org/olat/repository/ui/author/ConfirmDeleteSoftlyController.java +++ b/src/main/java/org/olat/repository/ui/author/ConfirmDeleteSoftlyController.java @@ -43,6 +43,8 @@ import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryService; +import org.olat.repository.controllers.EntryChangedEvent; +import org.olat.repository.controllers.EntryChangedEvent.Change; import org.olat.resource.references.ReferenceInfos; import org.olat.resource.references.ReferenceManager; import org.olat.util.logging.activity.LoggingResourceable; @@ -134,7 +136,7 @@ public class ConfirmDeleteSoftlyController extends FormBasicController { protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { if(deleteButton == source) { if(validateFormLogic(ureq)) { - doCompleteDelete(); + doCompleteDelete(ureq); fireEvent(ureq, Event.DONE_EVENT); } } @@ -150,8 +152,8 @@ public class ConfirmDeleteSoftlyController extends FormBasicController { fireEvent(ureq, Event.CANCELLED_EVENT); } - private void doCompleteDelete() { - boolean allOk = deleteEntries(rows); + private void doCompleteDelete(UserRequest ureq) { + boolean allOk = deleteEntries(ureq, rows); if(allOk) { showInfo("info.entry.deleted"); } else { @@ -159,7 +161,7 @@ public class ConfirmDeleteSoftlyController extends FormBasicController { } } - private boolean deleteEntries(List<RepositoryEntry> entries) { + private boolean deleteEntries(UserRequest ureq, List<RepositoryEntry> entries) { boolean allOk = true; for(RepositoryEntry entry:entries) { RepositoryEntry reloadedEntry = repositoryService.loadByKey(entry.getKey()); @@ -167,6 +169,9 @@ public class ConfirmDeleteSoftlyController extends FormBasicController { reloadedEntry = repositoryService.deleteSoftly(reloadedEntry, getIdentity(), false); ThreadLocalUserActivityLogger.log(LearningResourceLoggingAction.LEARNING_RESOURCE_TRASH, getClass(), LoggingResourceable.wrap(reloadedEntry, OlatResourceableType.genRepoEntry)); + + EntryChangedEvent e = new EntryChangedEvent(reloadedEntry, getIdentity(), Change.deleted, "delete"); + ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, RepositoryService.REPOSITORY_EVENT_ORES); } } return allOk; diff --git a/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java b/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java index 5d93b31d7b5aacf6c703f39a065851ca48ac2fd8..66ec971dba0739c9d44f6d689ef8679e4a0239f2 100644 --- a/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java +++ b/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java @@ -69,7 +69,7 @@ public class OverviewAuthoringController extends BasicController implements Acti private final boolean isOlatAdmin; private final boolean isGuestOnly; - private boolean favoritDirty, myDirty; + private boolean favoritDirty, myDirty, deletedDirty; private final EventBus eventBus; public OverviewAuthoringController(UserRequest ureq, WindowControl wControl) { @@ -122,6 +122,9 @@ public class OverviewAuthoringController extends BasicController implements Acti if(myEntriesCtrl != null && !myEntriesCtrl.getI18nName().equals(ece.getSource())) { myDirty = true; } + if(deletedEntriesCtrl != null && !deletedEntriesCtrl.getI18nName().equals(ece.getSource())) { + deletedDirty = true; + } } } } @@ -276,10 +279,10 @@ public class OverviewAuthoringController extends BasicController implements Acti WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl()); deletedEntriesCtrl = new AuthorDeletedListController(ureq, bwControl, "search.deleted", searchParams, false); listenTo(deletedEntriesCtrl); - } else if(myDirty) { + } else if(deletedDirty) { deletedEntriesCtrl.reloadRows(); } - myDirty = false; + deletedDirty = false; currentCtrl = deletedEntriesCtrl; addToHistory(ureq, deletedEntriesCtrl);