From 7aff2e643ef55482ffcc9c71995692f1ae66c359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Zara?= Date: Fri, 17 Apr 2026 16:40:16 +0200 Subject: [PATCH 1/2] LUT-32417: Provide a default pathlabel for XPage The switch from XSL to freemarker for the page breadcrumb made the pathlabel mandatory for XPages. Provide a default pathlabel for XPages which do not set one. Fixes XPageAppServiceTest.testEnabledState --- .../paris/lutece/portal/service/content/XPageAppService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/java/fr/paris/lutece/portal/service/content/XPageAppService.java b/src/java/fr/paris/lutece/portal/service/content/XPageAppService.java index 961ef9bb1a..c23140e990 100644 --- a/src/java/fr/paris/lutece/portal/service/content/XPageAppService.java +++ b/src/java/fr/paris/lutece/portal/service/content/XPageAppService.java @@ -52,6 +52,7 @@ import fr.paris.lutece.util.http.SecurityUtil; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import java.util.Collection; @@ -247,7 +248,7 @@ public String getPage( HttpServletRequest request, int nMode ) throws UserNotSig data.setContent( page.getContent( ) ); data.setName( page.getTitle( ) ); - data.setPagePath( PortalService.getXPagePathContent( page.getPathLabel( ), 0, request ) ); + data.setPagePath( PortalService.getXPagePathContent( ObjectUtils.getIfNull( page.getPathLabel( ), strName ), 0, request ) ); return PortalService.buildPageContent( data, nMode, request ); } From f7ce8e44328ffa7e09d3356b59752119ef4f7a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Zara?= Date: Fri, 17 Apr 2026 17:06:53 +0200 Subject: [PATCH 2/2] LUT-32417 : a template is required for a page The switch to freemarker exposed a bug in PortalServiceTest. A Page must have a template. If not, it cannot be found by id. To fix the test, assign a template to the test page. --- .../paris/lutece/portal/service/portal/PortalServiceTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/fr/paris/lutece/portal/service/portal/PortalServiceTest.java b/src/test/java/fr/paris/lutece/portal/service/portal/PortalServiceTest.java index b1a0a61f82..07afc833b0 100644 --- a/src/test/java/fr/paris/lutece/portal/service/portal/PortalServiceTest.java +++ b/src/test/java/fr/paris/lutece/portal/service/portal/PortalServiceTest.java @@ -39,6 +39,7 @@ import org.springframework.mock.web.MockHttpServletRequest; import fr.paris.lutece.portal.business.page.Page; +import fr.paris.lutece.portal.business.style.PageTemplateHome; import fr.paris.lutece.portal.service.cache.CacheService; import fr.paris.lutece.portal.service.cache.CacheableService; import fr.paris.lutece.portal.service.cache.IPathCacheService; @@ -131,6 +132,7 @@ private int createPage( ) page.setName( "junit2" ); page.setDescription( "junit2" ); page.setParentPageId( PortalService.getRootPageId( ) ); + page.setPageTemplateId( PageTemplateHome.getPageTemplatesList( ).get( 0 ).getId( ) ); pageService.createPage( page ); return page.getId( ); }