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.exception.SystemException;
019 import com.liferay.portal.security.auth.PrincipalException;
020 import com.liferay.portal.security.permission.ActionKeys;
021 import com.liferay.portal.security.permission.PermissionChecker;
022 import com.liferay.portlet.dynamicdatalists.model.DDLRecord;
023 import com.liferay.portlet.dynamicdatalists.model.DDLRecordSet;
024 import com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalServiceUtil;
025
026
029 public class DDLRecordPermission {
030
031 public static void check(
032 PermissionChecker permissionChecker, DDLRecord record,
033 String actionId)
034 throws PortalException, SystemException {
035
036 if (!contains(permissionChecker, record, actionId) &&
037 !((permissionChecker.getUserId() == record.getUserId()) &&
038 ActionKeys.UPDATE.equals(actionId))) {
039
040 throw new PrincipalException();
041 }
042 }
043
044 public static void check(
045 PermissionChecker permissionChecker, long recordId, String actionId)
046 throws PortalException, SystemException {
047
048 DDLRecord record = DDLRecordLocalServiceUtil.getRecord(recordId);
049
050 check(permissionChecker, record, actionId);
051 }
052
053 public static boolean contains(
054 PermissionChecker permissionChecker, DDLRecord record,
055 String actionId)
056 throws PortalException, SystemException {
057
058 DDLRecordSet recordSet = record.getRecordSet();
059
060 return DDLRecordSetPermission.contains(
061 permissionChecker, recordSet, actionId);
062 }
063
064 public static boolean contains(
065 PermissionChecker permissionChecker, long recordId, String actionId)
066 throws PortalException, SystemException {
067
068 DDLRecord record = DDLRecordLocalServiceUtil.getRecord(recordId);
069
070 return contains(permissionChecker, record, actionId);
071 }
072
073 }