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