001
014
015 package com.liferay.portlet.usersadmin.util;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.portal.kernel.exception.PortalException;
020 import com.liferay.portal.kernel.exception.SystemException;
021 import com.liferay.portal.kernel.search.Hits;
022 import com.liferay.portal.kernel.util.Accessor;
023 import com.liferay.portal.kernel.util.LocaleThreadLocal;
024 import com.liferay.portal.kernel.util.OrderByComparator;
025 import com.liferay.portal.kernel.util.StringPool;
026 import com.liferay.portal.model.Address;
027 import com.liferay.portal.model.EmailAddress;
028 import com.liferay.portal.model.Group;
029 import com.liferay.portal.model.OrgLabor;
030 import com.liferay.portal.model.Organization;
031 import com.liferay.portal.model.Phone;
032 import com.liferay.portal.model.Role;
033 import com.liferay.portal.model.User;
034 import com.liferay.portal.model.UserGroup;
035 import com.liferay.portal.model.UserGroupGroupRole;
036 import com.liferay.portal.model.UserGroupRole;
037 import com.liferay.portal.model.Website;
038 import com.liferay.portal.security.permission.PermissionChecker;
039 import com.liferay.portal.service.RoleLocalServiceUtil;
040
041 import java.util.List;
042
043 import javax.portlet.ActionRequest;
044 import javax.portlet.PortletRequest;
045 import javax.portlet.RenderResponse;
046
047 import javax.servlet.http.HttpServletRequest;
048
049
054 @ProviderType
055 public interface UsersAdmin {
056
057 public static final String CUSTOM_QUESTION = "write-my-own-question";
058
059 public static final Accessor<UserGroupGroupRole, String>
060 USER_GROUP_GROUP_ROLE_TITLE_ACCESSOR =
061 new Accessor<UserGroupGroupRole, String>() {
062
063 @Override
064 public String get(UserGroupGroupRole userGroupGroupRole) {
065 try {
066 Role role = RoleLocalServiceUtil.fetchRole(
067 userGroupGroupRole.getRoleId());
068
069 return role.getTitle(
070 LocaleThreadLocal.getThemeDisplayLocale());
071 }
072 catch (SystemException se) {
073 }
074
075 return StringPool.BLANK;
076 }
077
078 @Override
079 public Class<String> getAttributeClass() {
080 return String.class;
081 }
082
083 @Override
084 public Class<UserGroupGroupRole> getTypeClass() {
085 return UserGroupGroupRole.class;
086 }
087
088 };
089
090 public static final Accessor<UserGroupRole, String>
091 USER_GROUP_ROLE_TITLE_ACCESSOR =
092 new Accessor<UserGroupRole, String>() {
093
094 @Override
095 public String get(UserGroupRole userGroupRole) {
096 try {
097 Role role = RoleLocalServiceUtil.fetchRole(
098 userGroupRole.getRoleId());
099
100 return role.getTitle(
101 LocaleThreadLocal.getThemeDisplayLocale());
102 }
103 catch (SystemException se) {
104 }
105
106 return StringPool.BLANK;
107 }
108
109 @Override
110 public Class<String> getAttributeClass() {
111 return String.class;
112 }
113
114 @Override
115 public Class<UserGroupRole> getTypeClass() {
116 return UserGroupRole.class;
117 }
118
119 };
120
121 public void addPortletBreadcrumbEntries(
122 Organization organization, HttpServletRequest request,
123 RenderResponse renderResponse)
124 throws Exception;
125
126 public long[] addRequiredRoles(long userId, long[] roleIds)
127 throws PortalException;
128
129 public long[] addRequiredRoles(User user, long[] roleIds)
130 throws PortalException;
131
132 public List<Role> filterGroupRoles(
133 PermissionChecker permissionChecker, long groupId, List<Role> roles)
134 throws PortalException;
135
136 public List<Group> filterGroups(
137 PermissionChecker permissionChecker, List<Group> groups)
138 throws PortalException;
139
140 public List<Organization> filterOrganizations(
141 PermissionChecker permissionChecker,
142 List<Organization> organizations)
143 throws PortalException;
144
145 public List<Role> filterRoles(
146 PermissionChecker permissionChecker, List<Role> roles);
147
148 public long[] filterUnsetGroupUserIds(
149 PermissionChecker permissionChecker, long groupId, long[] userIds)
150 throws PortalException;
151
152 public long[] filterUnsetOrganizationUserIds(
153 PermissionChecker permissionChecker, long organizationId,
154 long[] userIds)
155 throws PortalException;
156
157 public List<UserGroupRole> filterUserGroupRoles(
158 PermissionChecker permissionChecker,
159 List<UserGroupRole> userGroupRoles)
160 throws PortalException;
161
162 public List<UserGroup> filterUserGroups(
163 PermissionChecker permissionChecker, List<UserGroup> userGroups);
164
165 public List<Address> getAddresses(ActionRequest actionRequest);
166
167 public List<Address> getAddresses(
168 ActionRequest actionRequest, List<Address> defaultAddresses);
169
170 public List<EmailAddress> getEmailAddresses(ActionRequest actionRequest);
171
172 public List<EmailAddress> getEmailAddresses(
173 ActionRequest actionRequest, List<EmailAddress> defaultEmailAddresses);
174
175 public OrderByComparator<Group> getGroupOrderByComparator(
176 String orderByCol, String orderByType);
177
178 public Long[] getOrganizationIds(List<Organization> organizations);
179
180 public OrderByComparator<Organization> getOrganizationOrderByComparator(
181 String orderByCol, String orderByType);
182
183 public List<Organization> getOrganizations(Hits hits)
184 throws PortalException;
185
186 public List<OrgLabor> getOrgLabors(ActionRequest actionRequest);
187
188 public List<Phone> getPhones(ActionRequest actionRequest);
189
190 public List<Phone> getPhones(
191 ActionRequest actionRequest, List<Phone> defaultPhones);
192
193 public OrderByComparator<Role> getRoleOrderByComparator(
194 String orderByCol, String orderByType);
195
196 public OrderByComparator<UserGroup> getUserGroupOrderByComparator(
197 String orderByCol, String orderByType);
198
199 public List<UserGroupRole> getUserGroupRoles(PortletRequest portletRequest)
200 throws PortalException;
201
202 public List<UserGroup> getUserGroups(Hits hits) throws PortalException;
203
204 public OrderByComparator<User> getUserOrderByComparator(
205 String orderByCol, String orderByType);
206
207 public List<User> getUsers(Hits hits) throws PortalException;
208
209 public List<Website> getWebsites(ActionRequest actionRequest);
210
211 public List<Website> getWebsites(
212 ActionRequest actionRequest, List<Website> defaultWebsites);
213
214
219 @Deprecated
220 public boolean hasUpdateEmailAddress(
221 PermissionChecker permissionChecker, User user)
222 throws PortalException;
223
224 public boolean hasUpdateFieldPermission(
225 PermissionChecker permissionChecker, User updatingUser,
226 User updatedUser, String field)
227 throws PortalException;
228
229
234 @Deprecated
235 public boolean hasUpdateFieldPermission(User user, String field)
236 throws PortalException;
237
238
243 @Deprecated
244 public boolean hasUpdateScreenName(
245 PermissionChecker permissionChecker, User user)
246 throws PortalException;
247
248 public long[] removeRequiredRoles(long userId, long[] roleIds)
249 throws PortalException;
250
251 public long[] removeRequiredRoles(User user, long[] roleIds)
252 throws PortalException;
253
254 public void updateAddresses(
255 String className, long classPK, List<Address> addresses)
256 throws PortalException;
257
258 public void updateEmailAddresses(
259 String className, long classPK, List<EmailAddress> emailAddresses)
260 throws PortalException;
261
262 public void updateOrgLabors(long classPK, List<OrgLabor> orgLabors)
263 throws PortalException;
264
265 public void updatePhones(String className, long classPK, List<Phone> phones)
266 throws PortalException;
267
268 public void updateWebsites(
269 String className, long classPK, List<Website> websites)
270 throws PortalException;
271
272 }