1
19
20 package com.liferay.portlet.wiki.service.permission;
21
22 import com.liferay.portal.PortalException;
23 import com.liferay.portal.SystemException;
24 import com.liferay.portal.security.auth.PrincipalException;
25 import com.liferay.portal.security.permission.PermissionChecker;
26 import com.liferay.portlet.wiki.model.WikiNode;
27 import com.liferay.portlet.wiki.service.WikiNodeLocalServiceUtil;
28
29
35 public class WikiNodePermission {
36
37 public static void check(
38 PermissionChecker permissionChecker, long nodeId, String actionId)
39 throws PortalException, SystemException {
40
41 if (!contains(permissionChecker, nodeId, actionId)) {
42 throw new PrincipalException();
43 }
44 }
45
46 public static void check(
47 PermissionChecker permissionChecker, long groupId, String name,
48 String actionId)
49 throws PortalException, SystemException {
50
51 if (!contains(permissionChecker, groupId, name, actionId)) {
52 throw new PrincipalException();
53 }
54 }
55
56 public static void check(
57 PermissionChecker permissionChecker, WikiNode node, String actionId)
58 throws PortalException {
59
60 if (!contains(permissionChecker, node, actionId)) {
61 throw new PrincipalException();
62 }
63 }
64
65 public static boolean contains(
66 PermissionChecker permissionChecker, long nodeId, String actionId)
67 throws PortalException, SystemException {
68
69 WikiNode node = WikiNodeLocalServiceUtil.getNode(nodeId);
70
71 return contains(permissionChecker, node, actionId);
72 }
73
74 public static boolean contains(
75 PermissionChecker permissionChecker, long groupId, String name,
76 String actionId)
77 throws PortalException, SystemException {
78
79 WikiNode node = WikiNodeLocalServiceUtil.getNode(groupId, name);
80
81 return contains(permissionChecker, node, actionId);
82 }
83
84 public static boolean contains(
85 PermissionChecker permissionChecker, WikiNode node, String actionId) {
86
87 if (permissionChecker.hasOwnerPermission(
88 node.getCompanyId(), WikiNode.class.getName(), node.getNodeId(),
89 node.getUserId(), actionId)) {
90
91 return true;
92 }
93
94 return permissionChecker.hasPermission(
95 node.getGroupId(), WikiNode.class.getName(), node.getNodeId(),
96 actionId);
97 }
98
99 }