diff --git a/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java b/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java index c70b9add31f6c55845bf19364023433f8cfe2c05..bedf950e4f70c1a521e9d814884ed353e8be6171 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java +++ b/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java @@ -53,6 +53,7 @@ import org.olat.core.util.vfs.LocalFolderImpl; import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSItem; import org.olat.core.util.vfs.VFSLeaf; +import org.olat.core.util.vfs.VFSManager; import org.olat.course.assessment.manager.AssessmentModeDAO; import org.olat.course.assessment.manager.UserCourseInformationsManager; import org.olat.course.certificate.CertificatesManager; @@ -227,10 +228,16 @@ public class RepositoryServiceImpl implements RepositoryService { RepositoryHandler handler = RepositoryHandlerFactory.getInstance().getRepositoryHandler(sourceEntry); copyEntry = handler.copy(author, sourceEntry, copyEntry); - - + //copy the image RepositoryManager.getInstance().copyImage(sourceEntry, copyEntry); + + //copy media container + VFSContainer sourceMediaContainer = handler.getMediaContainer(sourceEntry); + if(sourceMediaContainer != null) { + VFSContainer targetMediaContainer = handler.getMediaContainer(copyEntry); + VFSManager.copyContent(sourceMediaContainer, targetMediaContainer); + } ThreadLocalUserActivityLogger.log(LearningResourceLoggingAction.LEARNING_RESOURCE_CREATE, getClass(), LoggingResourceable.wrap(copyEntry, OlatResourceableType.genRepoEntry));