001
014
015 package com.liferay.portlet.mypages;
016
017 import com.liferay.portal.model.Group;
018 import com.liferay.portal.model.Portlet;
019 import com.liferay.portal.model.RoleConstants;
020 import com.liferay.portal.security.permission.PermissionChecker;
021 import com.liferay.portal.service.RoleLocalServiceUtil;
022 import com.liferay.portal.util.PropsValues;
023 import com.liferay.portlet.BaseControlPanelEntry;
024
025
029 public class MyPagesControlPanelEntry extends BaseControlPanelEntry {
030
031 @Override
032 protected boolean hasAccessPermissionDenied(
033 PermissionChecker permissionChecker, Group group, Portlet portlet)
034 throws Exception {
035
036 if (!PropsValues.LAYOUT_USER_PRIVATE_LAYOUTS_ENABLED &&
037 !PropsValues.LAYOUT_USER_PUBLIC_LAYOUTS_ENABLED) {
038
039 return true;
040 }
041
042 boolean hasPowerUserRole = RoleLocalServiceUtil.hasUserRole(
043 permissionChecker.getUserId(), permissionChecker.getCompanyId(),
044 RoleConstants.POWER_USER, true);
045
046 if ((PropsValues.LAYOUT_USER_PRIVATE_LAYOUTS_POWER_USER_REQUIRED ||
047 PropsValues.LAYOUT_USER_PUBLIC_LAYOUTS_POWER_USER_REQUIRED) &&
048 !hasPowerUserRole) {
049
050 return true;
051 }
052
053 return false;
054 }
055
056 }