001
014
015 package com.liferay.portlet.dynamicdatalists.service.permission;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.staging.permission.StagingPermissionUtil;
019 import com.liferay.portal.security.auth.PrincipalException;
020 import com.liferay.portal.security.permission.PermissionChecker;
021 import com.liferay.portal.util.PortletKeys;
022
023
027 public class DDLPermission {
028
029 public static final String RESOURCE_NAME =
030 "com.liferay.portlet.dynamicdatalists";
031
032 public static void check(
033 PermissionChecker permissionChecker, long groupId, String actionId)
034 throws PortalException {
035
036 if (!contains(permissionChecker, groupId, actionId)) {
037 throw new PrincipalException();
038 }
039 }
040
041 public static boolean contains(
042 PermissionChecker permissionChecker, long groupId, String actionId) {
043
044 return contains(
045 permissionChecker, groupId, PortletKeys.DYNAMIC_DATA_LISTS,
046 actionId);
047 }
048
049 public static boolean contains(
050 PermissionChecker permissionChecker, long groupId, String portletId,
051 String actionId) {
052
053 Boolean hasPermission = StagingPermissionUtil.hasPermission(
054 permissionChecker, groupId, RESOURCE_NAME, groupId, portletId,
055 actionId);
056
057 if (hasPermission != null) {
058 return hasPermission.booleanValue();
059 }
060
061 return permissionChecker.hasPermission(
062 groupId, RESOURCE_NAME, groupId, actionId);
063 }
064
065 }