diff --git a/src/main/java/org/olat/portfolio/ui/EPArtefactPoolRunController.java b/src/main/java/org/olat/portfolio/ui/EPArtefactPoolRunController.java index 9aae9a47071145a90a757d20ebc34c3e021bd08c..02793e274f037a43f782efe4af37f4a4dcbee996 100755 --- a/src/main/java/org/olat/portfolio/ui/EPArtefactPoolRunController.java +++ b/src/main/java/org/olat/portfolio/ui/EPArtefactPoolRunController.java @@ -262,6 +262,7 @@ public class EPArtefactPoolRunController extends BasicController implements Acti // some artefacts were added, refresh view if (event.equals(Event.DONE_EVENT)) { initTPAllView(ureq); + fireEvent(ureq, event); } } else if (event instanceof EPArtefactChoosenEvent) { // an artefact was choosen, pass through the event until top diff --git a/src/main/java/org/olat/portfolio/ui/structel/EPAddElementsController.java b/src/main/java/org/olat/portfolio/ui/structel/EPAddElementsController.java index 3a8a3f1a381caa479406f8f5f75f4e74da861e61..57429a2c48e6e7c8108f1248fb354bac0b30e976 100644 --- a/src/main/java/org/olat/portfolio/ui/structel/EPAddElementsController.java +++ b/src/main/java/org/olat/portfolio/ui/structel/EPAddElementsController.java @@ -133,28 +133,32 @@ public class EPAddElementsController extends BasicController { @Override protected void event(UserRequest ureq, Controller source, Event event) { super.event(ureq, source, event); - if (source == artefactPoolCtrl && event instanceof EPArtefactChoosenEvent) { - // finally an artefact was choosen - EPArtefactChoosenEvent artCEv = (EPArtefactChoosenEvent) event; - artefactBox.deactivate(); - AbstractArtefact choosenArtefact = artCEv.getArtefact(); - // check for a yet existing link to this artefact - if (ePFMgr.isArtefactInStructure(choosenArtefact, portfolioStructure)) { - showWarning("artefact.already.in.structure"); - } else { - boolean successfullLink = ePFMgr.addArtefactToStructure(getIdentity(), choosenArtefact, portfolioStructure); - if (successfullLink) { - getWindowControl().setInfo( - getTranslator().translate("artefact.choosen", new String[] { choosenArtefact.getTitle(), portfolioStructure.getTitle() })); - ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapPortfolioOres(choosenArtefact)); - ThreadLocalUserActivityLogger.log(EPLoggingAction.EPORTFOLIO_ARTEFACT_SELECTED, getClass()); + if (source == artefactPoolCtrl) { + if(event instanceof EPArtefactChoosenEvent) { + // finally an artefact was choosen + EPArtefactChoosenEvent artCEv = (EPArtefactChoosenEvent) event; + artefactBox.deactivate(); + AbstractArtefact choosenArtefact = artCEv.getArtefact(); + // check for a yet existing link to this artefact + if (ePFMgr.isArtefactInStructure(choosenArtefact, portfolioStructure)) { + showWarning("artefact.already.in.structure"); } else { - showError("restrictions.not.conform"); + boolean successfullLink = ePFMgr.addArtefactToStructure(getIdentity(), choosenArtefact, portfolioStructure); + if (successfullLink) { + getWindowControl().setInfo( + getTranslator().translate("artefact.choosen", new String[] { choosenArtefact.getTitle(), portfolioStructure.getTitle() })); + ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapPortfolioOres(choosenArtefact)); + ThreadLocalUserActivityLogger.log(EPLoggingAction.EPORTFOLIO_ARTEFACT_SELECTED, getClass()); + } else { + showError("restrictions.not.conform"); + } + fireEvent(ureq, new EPStructureChangeEvent(EPStructureChangeEvent.ADDED, portfolioStructure)); } + } else if(event == Event.DONE_EVENT) { + artefactBox.deactivate(); fireEvent(ureq, new EPStructureChangeEvent(EPStructureChangeEvent.ADDED, portfolioStructure)); } - - } + } } public void setShowLink(String... types) {