diff --git a/olat3/webapp/WEB-INF/src/org/olat/portfolio/ui/structel/edit/EPTOCController.java b/olat3/webapp/WEB-INF/src/org/olat/portfolio/ui/structel/edit/EPTOCController.java index d2e120d673377d6cfb17a0f87b0f0fc349782bd2..140e6d43dd81fbad1f28dd5d8f74f9808734069b 100644 --- a/olat3/webapp/WEB-INF/src/org/olat/portfolio/ui/structel/edit/EPTOCController.java +++ b/olat3/webapp/WEB-INF/src/org/olat/portfolio/ui/structel/edit/EPTOCController.java @@ -277,7 +277,7 @@ public class EPTOCController extends BasicController { // refresh the view fireEvent(ureq, Event.CHANGED_EVENT); } else if (structureClicked != null) { - if ((structureClicked instanceof EPPage || structureClicked instanceof EPStructureElement) + if ((structureClicked instanceof EPPage) && !(structureClicked instanceof EPAbstractMap)) { PortfolioStructure ps = structureClicked; while (ePFMgr.loadStructureParent(ps) != null) { @@ -291,6 +291,12 @@ public class EPTOCController extends BasicController { } else { showError("last.page.not.deletable"); } + } else if(structureClicked instanceof EPStructureElement + && !(structureClicked instanceof EPAbstractMap)) { + //structures should always be deletable + eSTMgr.removeStructureRecursively(structureClicked); + // refresh the view + fireEvent(ureq, Event.CHANGED_EVENT); } else { showInfo("element.not.deletable"); }