From fdac7c4fd88a2060cf2d6bcaf26b0f47d9be96c3 Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 23 Feb 2017 14:14:42 +0000 Subject: [PATCH] CCM NG/ccm-cms: FolderPath now shows correct path. git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4596 8810af33-2d31-482b-a856-94f89814c4df Former-commit-id: 8fe3363c5393da72f43dc88d0f864fbe595fcc6f --- .../cms/ui/folder/FolderPathListModel.java | 19 +++++++++++++++++-- .../ui/folder/FolderPathListModelBuilder.java | 4 ++-- .../themes/foundry/foundry/lib/bebop/list.xsl | 4 ++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderPathListModel.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderPathListModel.java index c903352b6..8a42185c2 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderPathListModel.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderPathListModel.java @@ -19,12 +19,17 @@ package com.arsdigita.cms.ui.folder; import com.arsdigita.bebop.list.ListModel; +import com.arsdigita.kernel.KernelConfig; import org.libreccm.cdi.utils.CdiUtil; +import org.libreccm.configuration.ConfigurationManager; import org.librecms.contentsection.Folder; import org.librecms.contentsection.FolderManager; +import java.util.ArrayList; import java.util.Iterator; +import java.util.List; +import java.util.Locale; /** * @@ -32,13 +37,23 @@ import java.util.Iterator; */ class FolderPathListModel implements ListModel { + private final Locale defaultLocale; private final Iterator pathFolders; private Folder currentFolder; public FolderPathListModel(final Folder folder) { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final FolderManager folderManager = cdiUtil.findBean(FolderManager.class); - pathFolders = folderManager.getParentFolders(folder).iterator(); + final List parentFolders = folderManager.getParentFolders(folder); + final List path = new ArrayList<>(); + path.addAll(parentFolders); + path.add(folder); + pathFolders = path.iterator(); + + final ConfigurationManager confManager = cdiUtil.findBean(ConfigurationManager.class); + final KernelConfig kernelConfig = confManager.findConfiguration( + KernelConfig.class); + defaultLocale = kernelConfig.getDefaultLocale(); } @Override @@ -53,7 +68,7 @@ class FolderPathListModel implements ListModel { @Override public Object getElement() { - return currentFolder.getName(); + return currentFolder.getTitle().getValue(defaultLocale); } @Override diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderPathListModelBuilder.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderPathListModelBuilder.java index 6f3e4332b..fcb6249a5 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderPathListModelBuilder.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderPathListModelBuilder.java @@ -44,8 +44,8 @@ public class FolderPathListModelBuilder extends LockableImpl @Override public ListModel makeModel(final List list, final PageState state) { - return new FolderPathListModel(folderSelectionModel - .getSelectedObject(state)); + return new FolderPathListModel( + folderSelectionModel.getSelectedObject(state)); } } diff --git a/ccm-theme-foundry/src/main/resources/themes/foundry/foundry/lib/bebop/list.xsl b/ccm-theme-foundry/src/main/resources/themes/foundry/foundry/lib/bebop/list.xsl index 28109dbff..42a4d2d2c 100644 --- a/ccm-theme-foundry/src/main/resources/themes/foundry/foundry/lib/bebop/list.xsl +++ b/ccm-theme-foundry/src/main/resources/themes/foundry/foundry/lib/bebop/list.xsl @@ -85,8 +85,8 @@ - - > + + /