1
19
20 package com.liferay.portlet.imagegallery.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.imagegallery.model.IGFolder;
27 import com.liferay.portlet.imagegallery.model.IGImage;
28 import com.liferay.portlet.imagegallery.service.IGImageLocalServiceUtil;
29
30
36 public class IGImagePermission {
37
38 public static void check(
39 PermissionChecker permissionChecker, long imageId, String actionId)
40 throws PortalException, SystemException {
41
42 if (!contains(permissionChecker, imageId, actionId)) {
43 throw new PrincipalException();
44 }
45 }
46
47 public static void check(
48 PermissionChecker permissionChecker, IGImage image, String actionId)
49 throws PortalException {
50
51 if (!contains(permissionChecker, image, actionId)) {
52 throw new PrincipalException();
53 }
54 }
55
56 public static boolean contains(
57 PermissionChecker permissionChecker, long imageId, String actionId)
58 throws PortalException, SystemException {
59
60 IGImage image = IGImageLocalServiceUtil.getImage(imageId);
61
62 return contains(permissionChecker, image, actionId);
63 }
64
65 public static boolean contains(
66 PermissionChecker permissionChecker, IGImage image, String actionId) {
67
68 if (permissionChecker.hasOwnerPermission(
69 image.getCompanyId(), IGImage.class.getName(),
70 image.getImageId(), image.getUserId(), actionId)) {
71
72 return true;
73 }
74
75 IGFolder folder = image.getFolder();
76
77 return permissionChecker.hasPermission(
78 folder.getGroupId(), IGImage.class.getName(), image.getImageId(),
79 actionId);
80 }
81
82 }