Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 6.1.0 CE GA1, 6.1.10 EE GA1, 6.2.0 CE M2
-
Fix Version/s: 6.1.20 EE GA2, --Sprint 11/12, 6.2.0 CE M2
-
Component/s: WCM, WCM > Navigation, WCM > Sites Administration
-
Labels:
-
Environment:liferay 6.1.0 tomcat bundle
-
Branch Version/s:6.1.x
-
Backported to Branch:Committed
-
Epic/Theme:
-
Liferay Contributor's Agreement:Accept
-
Similar Issues:
Description
To reproduce problem:
1. create site
2. create pages: page1, page2, page3
3. change type of page2 from "portlet" to link to page (for example to page3)
switch to control panel and try to remove this site: you will get error message (portlet is not available).
Stack trace:
13:14:09,790 ERROR [render_portlet_jsp:154] com.liferay.portal.LayoutTypeException at com.liferay.portal.service.impl.LayoutLocalServiceImpl.validateFirstLayout(LayoutLocalServiceImpl.java:2383) at com.liferay.portal.service.impl.LayoutLocalServiceImpl.deleteLayout(LayoutLocalServiceImpl.java:434) at com.liferay.portal.service.impl.LayoutLocalServiceStagingAdvice.deleteLayout(LayoutLocalServiceStagingAdvice.java:88) at com.liferay.portal.service.impl.LayoutLocalServiceStagingAdvice.invoke(LayoutLocalServiceStagingAdvice.java:108) at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:112) at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71) at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108) at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:59) at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108) at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:59) at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108) at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211) at com.liferay.portal.service.impl.LayoutSetLocalServiceImpl.deleteLayoutSet(LayoutSetLocalServiceImpl.java:123) at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:112) at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71) at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108) at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:59) at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108) at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:59) at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108)

problem in fact what we remove pages (layouts) one by one from beginning - and in some moment link to page become to be first and validation failed.
To avoid this problem we can (for example) remove layouts from end to the begin - see attached version of LayoutSetLocalServiceImpl for details