001
014
015 package com.liferay.portlet.announcements.service.permission;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.security.auth.PrincipalException;
020 import com.liferay.portal.security.permission.PermissionChecker;
021 import com.liferay.portlet.announcements.model.AnnouncementsEntry;
022 import com.liferay.portlet.announcements.service.AnnouncementsEntryLocalServiceUtil;
023
024
027 public class AnnouncementsEntryPermission {
028
029 public static void check(
030 PermissionChecker permissionChecker, AnnouncementsEntry entry,
031 String actionId)
032 throws PortalException {
033
034 if (!contains(permissionChecker, entry, actionId)) {
035 throw new PrincipalException();
036 }
037 }
038
039 public static void check(
040 PermissionChecker permissionChecker, long entryId, String actionId)
041 throws PortalException, SystemException {
042
043 if (!contains(permissionChecker, entryId, actionId)) {
044 throw new PrincipalException();
045 }
046 }
047
048 public static boolean contains(
049 PermissionChecker permissionChecker, AnnouncementsEntry entry,
050 String actionId) {
051
052 if (permissionChecker.hasOwnerPermission(
053 entry.getCompanyId(), AnnouncementsEntry.class.getName(),
054 entry.getEntryId(), entry.getUserId(), actionId)) {
055
056 return true;
057 }
058
059 return permissionChecker.hasPermission(
060 0, AnnouncementsEntry.class.getName(), entry.getEntryId(),
061 actionId);
062 }
063
064 public static boolean contains(
065 PermissionChecker permissionChecker, long entryId, String actionId)
066 throws PortalException, SystemException {
067
068 AnnouncementsEntry entry = AnnouncementsEntryLocalServiceUtil.getEntry(
069 entryId);
070
071 return contains(permissionChecker, entry, actionId);
072 }
073
074 }