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: 8fe3363c53
pull/2/head
parent
468a4b9473
commit
fdac7c4fd8
|
|
@ -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<Folder> 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<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
|
||||
|
|
@ -53,7 +68,7 @@ class FolderPathListModel implements ListModel {
|
|||
|
||||
@Override
|
||||
public Object getElement() {
|
||||
return currentFolder.getName();
|
||||
return currentFolder.getTitle().getValue(defaultLocale);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@
|
|||
<!-- EN Processing content -->
|
||||
<xsl:template match="bebop:cell" mode="item-path">
|
||||
<xsl:apply-templates select="." mode="span"/>
|
||||
<xsl:if test="position() != last()">
|
||||
<xsl:text>></xsl:text>
|
||||
<xsl:if test="position() != last() and position() != 1">
|
||||
<xsl:text>/</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue