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