Details
-
Bug
-
Status: Closed
-
Resolution: Fixed
-
Master
-
7.0.x
-
Committed
-
1
Description
Summary
If a user is a member in a nested child Organization Site, they will see the lower nested grandchild Organization Site in the Site Chooser. However, if they click this nested Grandchild site from Site Chooser, they will see an error indicating "Document Selector is temporarily unavailable" along with a permissions error in the console.
Steps to Reproduce
1. Sign in as [email protected]
2. In Control Panel > Users > Users and Organizations > Organizations
Add an parent Organization, with a child organization. Assign an Organization site to all of the Organizations/suborganizations that we have created.
1. Parent |___2. Child
3. In Control Panel > Users > Users and Organizations > Users
Add a user (e.g. friend) and join organization "parent" and "child"
4. Login as "friend"
5. Access the Site Chooser as "friend"
Menu > Go to Other site > All Sites
6. Click on "1 Child Site" in Organization Site "Parent".
Expected behavior:
Child site is displayed.
Actual behavior:
Upon clicking the "1 Child Site", we will see a "Document Selector is temporarily unavailable" error along with the following stack trace:
com.liferay.portal.kernel.security.auth.PrincipalException$MustHavePermission: User 33643 must have VIEW permission for com.liferay.portal.kernel.model.Group 33603
at com.liferay.portal.service.permission.GroupPermissionImpl.check(GroupPermissionImpl.java:49)
at com.liferay.portal.kernel.service.permission.GroupPermissionUtil.check(GroupPermissionUtil.java:31)
at com.liferay.portal.service.impl.GroupServiceImpl.getGroup(GroupServiceImpl.java:280)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:153)
at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:54)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:58)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:127)
at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:174)
at com.liferay.site.util.GroupSearchProvider.getParentGroupId(GroupSearchProvider.java:211)
at com.liferay.site.util.GroupSearchProvider.getGroupSearch(GroupSearchProvider.java:74)
at com.liferay.site.item.selector.web.internal.display.context.AllSitesItemSelectorViewDisplayContext.getGroupSearch(AllSitesItemSelectorViewDisplayContext.java:60)
at org.apache.jsp.view_005fsites_jsp._jspService(view_005fsites_jsp:306)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)