1
14
15 package com.liferay.portlet.polls.service.permission;
16
17 import com.liferay.portal.kernel.exception.PortalException;
18 import com.liferay.portal.kernel.exception.SystemException;
19 import com.liferay.portal.security.auth.PrincipalException;
20 import com.liferay.portal.security.permission.PermissionChecker;
21 import com.liferay.portlet.polls.model.PollsQuestion;
22 import com.liferay.portlet.polls.service.PollsQuestionLocalServiceUtil;
23
24
29 public class PollsQuestionPermission {
30
31 public static void check(
32 PermissionChecker permissionChecker, long questionId,
33 String actionId)
34 throws PortalException, SystemException {
35
36 if (!contains(permissionChecker, questionId, actionId)) {
37 throw new PrincipalException();
38 }
39 }
40
41 public static void check(
42 PermissionChecker permissionChecker, PollsQuestion question,
43 String actionId)
44 throws PortalException {
45
46 if (!contains(permissionChecker, question, actionId)) {
47 throw new PrincipalException();
48 }
49 }
50
51 public static boolean contains(
52 PermissionChecker permissionChecker, long questionId,
53 String actionId)
54 throws PortalException, SystemException {
55
56 PollsQuestion question =
57 PollsQuestionLocalServiceUtil.getQuestion(questionId);
58
59 return contains(permissionChecker, question, actionId);
60 }
61
62 public static boolean contains(
63 PermissionChecker permissionChecker, PollsQuestion question,
64 String actionId) {
65
66 if (permissionChecker.hasOwnerPermission(
67 question.getCompanyId(), PollsQuestion.class.getName(),
68 question.getQuestionId(), question.getUserId(), actionId)) {
69
70 return true;
71 }
72
73 return permissionChecker.hasPermission(
74 question.getGroupId(), PollsQuestion.class.getName(),
75 question.getQuestionId(), actionId);
76 }
77
78 }