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, String actionId) {
050
051 if (permissionChecker.hasOwnerPermission(
052 event.getCompanyId(), CalEvent.class.getName(),
053 event.getEventId(), event.getUserId(), actionId)) {
054
055 return true;
056 }
057
058 return permissionChecker.hasPermission(
059 event.getGroupId(), CalEvent.class.getName(), event.getEventId(),
060 actionId);
061 }
062
063 public static boolean contains(
064 PermissionChecker permissionChecker, long eventId, String actionId)
065 throws PortalException, SystemException {
066
067 CalEvent event = CalEventLocalServiceUtil.getEvent(eventId);
068
069 return contains(permissionChecker, event, actionId);
070 }
071
072 }