1
22
23 package com.liferay.portlet.journal.service.permission;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.security.auth.PrincipalException;
28 import com.liferay.portal.security.permission.PermissionChecker;
29 import com.liferay.portlet.journal.model.JournalStructure;
30 import com.liferay.portlet.journal.service.JournalStructureLocalServiceUtil;
31
32
38 public class JournalStructurePermission {
39
40 public static void check(
41 PermissionChecker permissionChecker, long id, String actionId)
42 throws PortalException, SystemException {
43
44 if (!contains(permissionChecker, id, actionId)) {
45 throw new PrincipalException();
46 }
47 }
48
49 public static void check(
50 PermissionChecker permissionChecker, long groupId,
51 String structureId, String actionId)
52 throws PortalException, SystemException {
53
54 if (!contains(permissionChecker, groupId, structureId, actionId)) {
55 throw new PrincipalException();
56 }
57 }
58
59 public static void check(
60 PermissionChecker permissionChecker, JournalStructure structure,
61 String actionId)
62 throws PortalException {
63
64 if (!contains(permissionChecker, structure, actionId)) {
65 throw new PrincipalException();
66 }
67 }
68
69 public static boolean contains(
70 PermissionChecker permissionChecker, long id, String actionId)
71 throws PortalException, SystemException {
72
73 JournalStructure structure =
74 JournalStructureLocalServiceUtil.getStructure(id);
75
76 return contains(permissionChecker, structure, actionId);
77 }
78
79 public static boolean contains(
80 PermissionChecker permissionChecker, long groupId,
81 String structureId, String actionId)
82 throws PortalException, SystemException {
83
84 JournalStructure structure =
85 JournalStructureLocalServiceUtil.getStructure(groupId, structureId);
86
87 return contains(permissionChecker, structure, actionId);
88 }
89
90 public static boolean contains(
91 PermissionChecker permissionChecker, JournalStructure structure,
92 String actionId) {
93
94 if (permissionChecker.hasOwnerPermission(
95 structure.getCompanyId(), JournalStructure.class.getName(),
96 structure.getId(), structure.getUserId(), actionId)) {
97
98 return true;
99 }
100
101 return permissionChecker.hasPermission(
102 structure.getGroupId(), JournalStructure.class.getName(),
103 structure.getId(), actionId);
104 }
105
106 }