001
014
015 package com.liferay.portlet.calendar.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.calendar.model.CalEvent;
022 import com.liferay.portlet.calendar.service.CalEventLocalServiceUtil;
023
024
027 public class CalEventPermission {
028
029 public static void check(
030 PermissionChecker permissionChecker, CalEvent event,
031 String actionId)
032 throws PortalException {
033
034 if (!contains(permissionChecker, event, actionId)) {
035 throw new PrincipalException();
036 }
037 }
038
039 public static void check(
040 PermissionChecker permissionChecker, long eventId, String actionId)
041 throws PortalException, SystemException {
042
043 if (!contains(permissionChecker, eventId, actionId)) {
044 throw new PrincipalException();
045 }
046 }
047
048 public static boolean contains(
049 PermissionChecker permissionChecker, CalEvent event,
050 String actionId) {
051
052 if (permissionChecker.hasOwnerPermission(
053 event.getCompanyId(), CalEvent.class.getName(),
054 event.getEventId(), event.getUserId(), actionId)) {
055
056 return true;
057 }
058
059 return permissionChecker.hasPermission(
060 event.getGroupId(), CalEvent.class.getName(), event.getEventId(),
061 actionId);
062 }
063
064 public static boolean contains(
065 PermissionChecker permissionChecker, long eventId, String actionId)
066 throws PortalException, SystemException {
067
068 CalEvent event = CalEventLocalServiceUtil.getEvent(eventId);
069
070 return contains(permissionChecker, event, actionId);
071 }
072
073 }