diff --git a/src/main/java/org/olat/course/nodes/gta/ui/EditSolutionController.java b/src/main/java/org/olat/course/nodes/gta/ui/EditSolutionController.java index a0b84ec74613f233bc5936e134d8df8cb6a7edb7..74646ba26747f405753732cf7c5a9101014be9ca 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/EditSolutionController.java +++ b/src/main/java/org/olat/course/nodes/gta/ui/EditSolutionController.java @@ -39,6 +39,7 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.util.StringHelper; import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSItem; +import org.olat.core.util.vfs.VFSManager; import org.olat.course.nodes.gta.model.Solution; @@ -60,12 +61,12 @@ public class EditSolutionController extends FormBasicController { public EditSolutionController(UserRequest ureq, WindowControl wControl, File solutionDir, VFSContainer solutionContainer) { - this(ureq, wControl, new Solution(), solutionDir, solutionContainer, true); + this(ureq, wControl, new Solution(), solutionDir, solutionContainer, false); } public EditSolutionController(UserRequest ureq, WindowControl wControl, Solution solution, File solutionDir, VFSContainer solutionContainer) { - this(ureq, wControl, solution, solutionDir, solutionContainer, false); + this(ureq, wControl, solution, solutionDir, solutionContainer, true); } private EditSolutionController(UserRequest ureq, WindowControl wControl, @@ -145,6 +146,13 @@ public class EditSolutionController extends FormBasicController { } String filename = fileEl.getUploadFileName(); + if(!replaceFile) { + File currentFile = new File(solutionDir, filename); + if(currentFile.exists()) { + filename = VFSManager.rename(solutionContainer, filename); + } + } + solution.setFilename(filename); try {