diff --git a/src/main/java/org/olat/portfolio/manager/EPStructureManager.java b/src/main/java/org/olat/portfolio/manager/EPStructureManager.java index 5956f4f2bd56283909b834baa5d628de25934bd4..70849fb9d97d1d4ff0274da8964eeb3548c5f085 100755 --- a/src/main/java/org/olat/portfolio/manager/EPStructureManager.java +++ b/src/main/java/org/olat/portfolio/manager/EPStructureManager.java @@ -1006,12 +1006,13 @@ public class EPStructureManager extends BasicManager { if(map == null) { return;//nothing to delete } + + //already delete in removeStructureRecursively: deletePortfolioMapTemplateRecursively((EPStructureElement)map); removeStructureRecursively(map); - deletePortfolioMapTemplateRecursively((EPStructureElement)map); - dbInstance.deleteObject(map); + //already delete in removeStructureRecursively: dbInstance.deleteObject(map); } - private void deletePortfolioMapTemplateRecursively(EPStructureElement element) { + /*private void deletePortfolioMapTemplateRecursively(EPStructureElement element) { element.getInternalArtefacts().clear(); element.setRoot(null); element.setRootMap(null); @@ -1020,7 +1021,7 @@ public class EPStructureManager extends BasicManager { deletePortfolioMapTemplateRecursively((EPStructureElement)subLink.getChild()); } links.clear(); - } + }*/ public void removeStructureRecursively(PortfolioStructure struct){ List<PortfolioStructure> children = loadStructureChildren(struct); diff --git a/src/main/java/org/olat/repository/controllers/RepositoryAddController.java b/src/main/java/org/olat/repository/controllers/RepositoryAddController.java index 8d93ae2f344570a2a7ebec4a2ebc32f85f8547dd..c76e011ebc14dcba4d09abb059751dc5e5d326f1 100644 --- a/src/main/java/org/olat/repository/controllers/RepositoryAddController.java +++ b/src/main/java/org/olat/repository/controllers/RepositoryAddController.java @@ -34,7 +34,6 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -353,6 +352,10 @@ public class RepositoryAddController extends BasicController { } protected void addFinished(UserRequest ureq) { + if(addedEntry != null) { + return; + } + try { DBFactory.getInstance().commitAndCloseSession(); } catch (Exception e) {