Skip to content
Snippets Groups Projects
Commit b79e4ef5 authored by srosse's avatar srosse
Browse files

OO-2043: better event handling if a resource is deleted

parent 48485491
No related branches found
No related tags found
No related merge requests found
......@@ -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);
}
}
}
......
......@@ -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;
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment