CCM NG/ccm-cms: FolderPath now shows correct path.
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4596 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
40910eeab7
commit
4f54c5c37a
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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>></xsl:text>
|
<xsl:text>/</xsl:text>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue