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
pull/2/head
jensp 2017-02-23 14:14:42 +00:00
parent 40910eeab7
commit 4f54c5c37a
3 changed files with 21 additions and 6 deletions

View File

@ -19,12 +19,17 @@
package com.arsdigita.cms.ui.folder; package com.arsdigita.cms.ui.folder;
import com.arsdigita.bebop.list.ListModel; import com.arsdigita.bebop.list.ListModel;
import com.arsdigita.kernel.KernelConfig;
import org.libreccm.cdi.utils.CdiUtil; import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.configuration.ConfigurationManager;
import org.librecms.contentsection.Folder; import org.librecms.contentsection.Folder;
import org.librecms.contentsection.FolderManager; import org.librecms.contentsection.FolderManager;
import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List;
import java.util.Locale;
/** /**
* *
@ -32,13 +37,23 @@ import java.util.Iterator;
*/ */
class FolderPathListModel implements ListModel { class FolderPathListModel implements ListModel {
private final Locale defaultLocale;
private final Iterator<Folder> pathFolders; private final Iterator<Folder> pathFolders;
private Folder currentFolder; private Folder currentFolder;
public FolderPathListModel(final Folder folder) { public FolderPathListModel(final Folder folder) {
final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final FolderManager folderManager = cdiUtil.findBean(FolderManager.class); final FolderManager folderManager = cdiUtil.findBean(FolderManager.class);
pathFolders = folderManager.getParentFolders(folder).iterator(); final List<Folder> parentFolders = folderManager.getParentFolders(folder);
final List<Folder> 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 @Override
@ -53,7 +68,7 @@ class FolderPathListModel implements ListModel {
@Override @Override
public Object getElement() { public Object getElement() {
return currentFolder.getName(); return currentFolder.getTitle().getValue(defaultLocale);
} }
@Override @Override

View File

@ -44,8 +44,8 @@ public class FolderPathListModelBuilder extends LockableImpl
@Override @Override
public ListModel makeModel(final List list, final PageState state) { public ListModel makeModel(final List list, final PageState state) {
return new FolderPathListModel(folderSelectionModel return new FolderPathListModel(
.getSelectedObject(state)); folderSelectionModel.getSelectedObject(state));
} }
} }

View File

@ -85,8 +85,8 @@
<!-- EN Processing content --> <!-- EN Processing content -->
<xsl:template match="bebop:cell" mode="item-path"> <xsl:template match="bebop:cell" mode="item-path">
<xsl:apply-templates select="." mode="span"/> <xsl:apply-templates select="." mode="span"/>
<xsl:if test="position() != last()"> <xsl:if test="position() != last() and position() != 1">
<xsl:text>&gt;</xsl:text> <xsl:text>/</xsl:text>
</xsl:if> </xsl:if>
</xsl:template> </xsl:template>