001
014
015 package com.liferay.portlet.messageboards.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
026 public class MBPermission {
027
028 public static final String RESOURCE_NAME =
029 "com.liferay.portlet.messageboards";
030
031 public static void check(
032 PermissionChecker permissionChecker, long groupId, String actionId)
033 throws PortalException {
034
035 if (!contains(permissionChecker, groupId, actionId)) {
036 throw new PrincipalException();
037 }
038 }
039
040 public static boolean contains(
041 PermissionChecker permissionChecker, long groupId, String actionId) {
042
043 Boolean hasPermission = StagingPermissionUtil.hasPermission(
044 permissionChecker, groupId, RESOURCE_NAME, groupId,
045 PortletKeys.MESSAGE_BOARDS, actionId);
046
047 if (hasPermission != null) {
048 return hasPermission.booleanValue();
049 }
050
051 return permissionChecker.hasPermission(
052 groupId, RESOURCE_NAME, groupId, actionId);
053 }
054
055 }