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.kernel.security.permission.ActionKeys;
28 import com.liferay.portal.model.User;
29 import com.liferay.portal.model.UserGroup;
30 import com.liferay.portal.security.auth.PrincipalException;
31 import com.liferay.portal.service.UserGroupLocalServiceUtil;
32 import com.liferay.portal.service.UserGroupService;
33 import com.liferay.portal.service.permission.GroupPermissionUtil;
34 import com.liferay.portal.service.permission.PortalPermissionUtil;
35 import com.liferay.portal.service.permission.UserGroupPermissionUtil;
36
37 import java.util.List;
38
39
45 public class UserGroupServiceImpl
46 extends PrincipalBean implements UserGroupService {
47
48 public void addGroupUserGroups(long groupId, long[] userGroupIds)
49 throws PortalException, SystemException {
50
51 GroupPermissionUtil.check(
52 getPermissionChecker(), groupId, ActionKeys.UPDATE);
53
54 UserGroupLocalServiceUtil.addGroupUserGroups(
55 groupId, userGroupIds);
56 }
57
58 public UserGroup addUserGroup(String name, String description)
59 throws PortalException, SystemException {
60
61 PortalPermissionUtil.check(
62 getPermissionChecker(), ActionKeys.ADD_USER_GROUP);
63
64 User user = getUser();
65
66 return UserGroupLocalServiceUtil.addUserGroup(
67 user.getUserId(), user.getCompanyId(), name, description);
68 }
69
70 public void deleteUserGroup(long userGroupId)
71 throws PortalException, SystemException {
72
73 UserGroupPermissionUtil.check(
74 getPermissionChecker(), userGroupId, ActionKeys.DELETE);
75
76 UserGroupLocalServiceUtil.deleteUserGroup(userGroupId);
77 }
78
79 public UserGroup getUserGroup(long userGroupId)
80 throws PortalException, SystemException {
81
82 if (!UserGroupPermissionUtil.contains(
83 getPermissionChecker(), userGroupId, ActionKeys.VIEW) &&
84 !UserGroupPermissionUtil.contains(
85 getPermissionChecker(), userGroupId, ActionKeys.UPDATE) &&
86 !UserGroupPermissionUtil.contains(
87 getPermissionChecker(), userGroupId, ActionKeys.ASSIGN_USERS)) {
88
89 throw new PrincipalException();
90 }
91
92 return UserGroupLocalServiceUtil.getUserGroup(userGroupId);
93 }
94
95 public UserGroup getUserGroup(String name)
96 throws PortalException, SystemException {
97
98 UserGroup userGroup = UserGroupLocalServiceUtil.getUserGroup(
99 getUser().getCompanyId(), name);
100
101 long userGroupId = userGroup.getUserGroupId();
102
103 if (!UserGroupPermissionUtil.contains(
104 getPermissionChecker(), userGroupId, ActionKeys.VIEW) &&
105 !UserGroupPermissionUtil.contains(
106 getPermissionChecker(), userGroupId, ActionKeys.UPDATE) &&
107 !UserGroupPermissionUtil.contains(
108 getPermissionChecker(), userGroupId, ActionKeys.ASSIGN_USERS)) {
109
110 throw new PrincipalException();
111 }
112
113 return userGroup;
114 }
115
116 public List getUserUserGroups(long userId)
117 throws PortalException, SystemException {
118
119 return UserGroupLocalServiceUtil.getUserUserGroups(userId);
120 }
121
122 public void unsetGroupUserGroups(long groupId, long[] userGroupIds)
123 throws PortalException, SystemException {
124
125 GroupPermissionUtil.check(
126 getPermissionChecker(), groupId, ActionKeys.UPDATE);
127
128 UserGroupLocalServiceUtil.unsetGroupUserGroups(
129 groupId, userGroupIds);
130 }
131
132 public UserGroup updateUserGroup(
133 long userGroupId, String name, String description)
134 throws PortalException, SystemException {
135
136 UserGroupPermissionUtil.check(
137 getPermissionChecker(), userGroupId, ActionKeys.UPDATE);
138
139 return UserGroupLocalServiceUtil.updateUserGroup(
140 getUser().getCompanyId(), userGroupId, name, description);
141 }
142
143 }