diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/FolderManager.java b/ccm-cms/src/main/java/org/librecms/contentsection/FolderManager.java index e6ad58d21..db451c04c 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/FolderManager.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/FolderManager.java @@ -30,6 +30,7 @@ import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.Optional; +import java.util.stream.Collectors; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; @@ -509,13 +510,27 @@ public class FolderManager { } Collections.reverse(tokens); - final String path = String.join("/", tokens); + final String path = tokens + .stream() + .filter(token -> !"/".equals(token)) + .collect( + Collectors.joining("/") + ); + //final String path = String.join("/", tokens); if (withContentSection) { final String sectionName = folder.getSection().getDisplayName(); - return String.format("%s:/%s/", sectionName, path); + if (path.isEmpty()) { + return String.format("%s:/", sectionName); + } else { + return String.format("%s:/%s/", sectionName, path); + } } else { - return String.format("/%s/", path); + if (path.isEmpty()) { + return "/"; + } else { + return String.format("/%s/", path); + } } } diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/DocumentController.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/DocumentController.java index 1d165edce..80ed0c96c 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/DocumentController.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/DocumentController.java @@ -815,7 +815,7 @@ public class DocumentController { } return String.format( - "redirect:/%s/documentfolders/%s", + "redirect:/%s/documentfolders%s", sectionIdentifier, folderPath );