1
22
23 package com.liferay.portlet.tags.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.tags.model.TagsEntry;
30 import com.liferay.portlet.tags.model.TagsEntryConstants;
31 import com.liferay.portlet.tags.service.TagsEntryLocalServiceUtil;
32
33
38 public class TagsEntryPermission {
39
40 public static void check(
41 PermissionChecker permissionChecker, long groupId, long entryId,
42 String actionId)
43 throws PortalException, SystemException {
44
45 if (!contains(permissionChecker, groupId, entryId, actionId)) {
46 throw new PrincipalException();
47 }
48 }
49
50 public static void check(
51 PermissionChecker permissionChecker, long entryId, String actionId)
52 throws PortalException, SystemException {
53
54 if (!contains(permissionChecker, entryId, actionId)) {
55 throw new PrincipalException();
56 }
57 }
58
59 public static void check(
60 PermissionChecker permissionChecker, TagsEntry entry,
61 String actionId)
62 throws PortalException {
63
64 if (!contains(permissionChecker, entry, actionId)) {
65 throw new PrincipalException();
66 }
67 }
68
69 public static boolean contains(
70 PermissionChecker permissionChecker, long groupId, long entryId,
71 String actionId)
72 throws PortalException, SystemException {
73
74 if (entryId == TagsEntryConstants.DEFAULT_PARENT_ENTRY_ID) {
75 return TagsPermission.contains(
76 permissionChecker, groupId, actionId);
77 }
78 else {
79 return contains(permissionChecker, entryId, actionId);
80 }
81 }
82
83 public static boolean contains(
84 PermissionChecker permissionChecker, long entryId,
85 String actionId)
86 throws PortalException, SystemException {
87
88 TagsEntry entry = TagsEntryLocalServiceUtil.getEntry(entryId);
89
90 return contains(permissionChecker, entry, actionId);
91 }
92
93 public static boolean contains(
94 PermissionChecker permissionChecker, TagsEntry entry, String actionId) {
95
96 if (permissionChecker.hasOwnerPermission(
97 entry.getCompanyId(), TagsEntry.class.getName(),
98 entry.getEntryId(), entry.getUserId(), actionId)) {
99
100 return true;
101 }
102
103 return permissionChecker.hasPermission(
104 entry.getGroupId(), TagsEntry.class.getName(), entry.getEntryId(),
105 actionId);
106 }
107
108 }