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