1
22
23 package com.liferay.portal.service.impl;
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.ActionKeys;
29 import com.liferay.portal.security.permission.PermissionChecker;
30 import com.liferay.portal.service.base.UserGroupRoleServiceBaseImpl;
31 import com.liferay.portal.service.permission.GroupPermissionUtil;
32
33
38 public class UserGroupRoleServiceImpl extends UserGroupRoleServiceBaseImpl {
39
40 public void addUserGroupRoles(long userId, long groupId, long[] roleIds)
41 throws PortalException, SystemException {
42
43 PermissionChecker permissionChecker = getPermissionChecker();
44
45 if (!permissionChecker.isCommunityOwner(groupId) &&
46 !GroupPermissionUtil.contains(
47 permissionChecker, groupId, ActionKeys.ASSIGN_USER_ROLES)) {
48
49 throw new PrincipalException();
50 }
51
52 userGroupRoleLocalService.addUserGroupRoles(userId, groupId, roleIds);
53 }
54
55 public void addUserGroupRoles(long[] userIds, long groupId, long roleId)
56 throws PortalException, SystemException {
57
58 PermissionChecker permissionChecker = getPermissionChecker();
59
60 if (!permissionChecker.isCommunityOwner(groupId) &&
61 !GroupPermissionUtil.contains(
62 permissionChecker, groupId, ActionKeys.ASSIGN_USER_ROLES)) {
63
64 throw new PrincipalException();
65 }
66
67 userGroupRoleLocalService.addUserGroupRoles(userIds, groupId, roleId);
68 }
69
70 public void deleteUserGroupRoles(long userId, long groupId, long[] roleIds)
71 throws PortalException, SystemException {
72
73 PermissionChecker permissionChecker = getPermissionChecker();
74
75 if (!permissionChecker.isCommunityOwner(groupId)) {
76 throw new PrincipalException();
77 }
78
79 userGroupRoleLocalService.deleteUserGroupRoles(
80 userId, groupId, roleIds);
81 }
82
83 public void deleteUserGroupRoles(long[] userIds, long groupId, long roleId)
84 throws PortalException, SystemException {
85
86 PermissionChecker permissionChecker = getPermissionChecker();
87
88 if (!permissionChecker.isCommunityOwner(groupId) &&
89 !GroupPermissionUtil.contains(
90 permissionChecker, groupId, ActionKeys.ASSIGN_USER_ROLES)) {
91
92 throw new PrincipalException();
93 }
94
95 userGroupRoleLocalService.deleteUserGroupRoles(
96 userIds, groupId, roleId);
97 }
98
99 }