use of com.liferay.portal.model.Role in project liferay-ide by liferay.
the class UserLocalServiceImpl method getInheritedRoleUsers.
@Override
public List<User> getInheritedRoleUsers(long roleId, int start, int end, OrderByComparator obc) throws PortalException, SystemException {
Role role = rolePersistence.findByPrimaryKey(roleId);
LinkedHashMap<String, Object> params = new LinkedHashMap<String, Object>();
params.put("inherit", Boolean.TRUE);
params.put("usersRoles", roleId);
return search(role.getCompanyId(), null, WorkflowConstants.STATUS_APPROVED, params, start, end, obc);
}
use of com.liferay.portal.model.Role in project liferay-ide by liferay.
the class UserLocalServiceImpl method unsetRoleUsers.
/**
* Removes the users from the role.
*
* @param roleId the primary key of the role
* @param users the users
* @throws PortalException if a portal exception occurred
* @throws SystemException if a system exception occurred
*/
@Override
public void unsetRoleUsers(long roleId, List<User> users) throws PortalException, SystemException {
Role role = rolePersistence.findByPrimaryKey(roleId);
String roleName = role.getName();
if ((roleName.equals(RoleConstants.ADMINISTRATOR) && (getRoleUsersCount(role.getRoleId()) <= 1)) || roleName.equals(RoleConstants.USER)) {
return;
}
rolePersistence.removeUsers(roleId, users);
Indexer indexer = IndexerRegistryUtil.nullSafeGetIndexer(User.class);
indexer.reindex(users);
PermissionCacheUtil.clearCache();
}
use of com.liferay.portal.model.Role in project liferay-ide by liferay.
the class Test method sendImage.
public void sendImage(ActionRequest request, ActionResponse response) {
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
SessionMessages.add(request, PortalUtil.getPortletId(request) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
long userId = themeDisplay.getUserId();
long groupId = themeDisplay.getScopeGroupId();
UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(request);
long folderId = 0;
java.io.File submissionFile = null;
String submissionFileName = "";
try {
try {
ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), request);
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (PortalException e3) {
e3.printStackTrace();
}
String contentType = "";
String changeLog = "";
Map<String, Fields> fieldsMap = new HashMap<String, Fields>();
if (uploadRequest != null) {
submissionFileName = uploadRequest.getFileName("uploadFileForMessage");
submissionFile = uploadRequest.getFile("uploadFileForMessage");
contentType = uploadRequest.getContentType("uploadFileForMessage");
changeLog = ParamUtil.getString(request, "changeLog");
}
if (!submissionFileName.equals("")) {
ServiceContext serviceContext = null;
try {
try {
serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), request);
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (PortalException e3) {
e3.printStackTrace();
}
String title = submissionFileName;
String description = "Message Media";
DLFileEntry dlf = null;
long realUserId = themeDisplay.getRealUserId();
FileInputStream fis = null;
try {
fis = Files.newInputStream(submissionFile.toPath());
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
try {
dlf = DLFileEntryLocalServiceUtil.addFileEntry(realUserId, groupId, groupId, 0, submissionFileName, contentType, title, description, changeLog, 0, fieldsMap, submissionFile, fis, groupId, serviceContext);
long feID = dlf.getFileEntryId();
DLFileEntryLocalServiceUtil.updateFileEntry(realUserId, feID, submissionFileName, contentType, title, description, changeLog, false, 0, fieldsMap, submissionFile, fis, groupId, serviceContext);
String primKeyDLFE = dlf.getPrimaryKey() + "";
String[] actionIds = new String[1];
actionIds[0] = "VIEW";
Role user = RoleLocalServiceUtil.getRole(dlf.getCompanyId(), RoleConstants.USER);
ResourcePermissionLocalServiceUtil.setResourcePermissions(dlf.getCompanyId(), "com.liferay.portlet.documentlibrary.model.DLFileEntry", 4, primKeyDLFE, user.getRoleId(), actionIds);
} catch (DuplicateFileException e) {
int randomNumber = randInt(1000, 9999);
title = title + "_" + randomNumber;
try {
try {
dlf = DLFileEntryLocalServiceUtil.addFileEntry(realUserId, groupId, groupId, 0, submissionFileName, contentType, title, description, changeLog, 0, fieldsMap, submissionFile, fis, groupId, serviceContext);
} catch (SystemException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (PortalException e1) {
e1.printStackTrace();
}
long feID = dlf.getFileEntryId();
try {
try {
DLFileEntryLocalServiceUtil.updateFileEntry(realUserId, feID, submissionFileName, contentType, title, description, changeLog, false, 0, fieldsMap, submissionFile, fis, groupId, serviceContext);
} catch (SystemException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (PortalException e1) {
e1.printStackTrace();
}
String[] actionIds = new String[1];
actionIds[0] = "VIEW";
String primKeyDLFE = dlf.getPrimaryKey() + "";
Role user = null;
try {
try {
user = RoleLocalServiceUtil.getRole(dlf.getCompanyId(), RoleConstants.USER);
} catch (SystemException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (PortalException e1) {
e1.printStackTrace();
}
try {
try {
ResourcePermissionLocalServiceUtil.setResourcePermissions(dlf.getCompanyId(), "com.liferay.portlet.documentlibrary.model.DLFileEntry", 4, primKeyDLFE, user.getRoleId(), actionIds);
} catch (SystemException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (PortalException e1) {
e1.printStackTrace();
}
} catch (PortalException e) {
e.printStackTrace();
} catch (SystemException e) {
e.printStackTrace();
}
titleURL = "/documents/" + groupId + "/" + dlf.getFolderId() + "/" + dlf.getTitle();
}
System.out.println("OPEN IMAGE FROM THIS PATH: " + titleURL);
}
use of com.liferay.portal.model.Role in project liferay-ide by liferay.
the class SearchPermissionCheckerImpl method doGetPermissionQuery.
protected Query doGetPermissionQuery(long companyId, long[] groupIds, long userId, String className, Query query, SearchContext searchContext) throws Exception {
Indexer indexer = IndexerRegistryUtil.getIndexer(className);
if (!indexer.isPermissionAware()) {
return query;
}
PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();
AdvancedPermissionChecker advancedPermissionChecker = null;
if ((permissionChecker != null) && (permissionChecker instanceof AdvancedPermissionChecker)) {
advancedPermissionChecker = (AdvancedPermissionChecker) permissionChecker;
}
if (advancedPermissionChecker == null) {
return query;
}
PermissionCheckerBag permissionCheckerBag = getPermissionCheckerBag(advancedPermissionChecker, userId);
if (permissionCheckerBag == null) {
return query;
}
List<Group> groups = new UniqueList<Group>();
List<Role> roles = new UniqueList<Role>();
List<UserGroupRole> userGroupRoles = new UniqueList<UserGroupRole>();
Map<Long, List<Role>> groupIdsToRoles = new HashMap<Long, List<Role>>();
roles.addAll(permissionCheckerBag.getRoles());
if (ArrayUtil.isEmpty(groupIds)) {
groups.addAll(GroupLocalServiceUtil.getUserGroups(userId, true));
groups.addAll(permissionCheckerBag.getGroups());
userGroupRoles = UserGroupRoleLocalServiceUtil.getUserGroupRoles(userId);
} else {
groups.addAll(permissionCheckerBag.getGroups());
for (long groupId : groupIds) {
if (GroupLocalServiceUtil.hasUserGroup(userId, groupId)) {
Group group = GroupLocalServiceUtil.getGroup(groupId);
groups.add(group);
}
userGroupRoles.addAll(UserGroupRoleLocalServiceUtil.getUserGroupRoles(userId, groupId));
userGroupRoles.addAll(UserGroupRoleLocalServiceUtil.getUserGroupRolesByUserUserGroupAndGroup(userId, groupId));
}
}
if (advancedPermissionChecker.isSignedIn()) {
roles.add(RoleLocalServiceUtil.getRole(companyId, RoleConstants.GUEST));
}
for (Group group : groups) {
PermissionCheckerBag userBag = advancedPermissionChecker.getUserBag(userId, group.getGroupId());
List<Role> groupRoles = userBag.getRoles();
groupIdsToRoles.put(group.getGroupId(), groupRoles);
roles.addAll(groupRoles);
}
return doGetPermissionQuery_6(companyId, groupIds, userId, className, query, searchContext, advancedPermissionChecker, groups, roles, userGroupRoles, groupIdsToRoles);
}
use of com.liferay.portal.model.Role in project liferay-ide by liferay.
the class SearchPermissionCheckerImpl method addRequiredMemberRole.
protected void addRequiredMemberRole(Group group, BooleanQuery permissionQuery) throws Exception {
if (group.isOrganization()) {
Role organizationUserRole = RoleLocalServiceUtil.getRole(group.getCompanyId(), RoleConstants.ORGANIZATION_USER);
permissionQuery.addTerm(Field.GROUP_ROLE_ID, group.getGroupId() + StringPool.DASH + organizationUserRole.getRoleId());
}
if (group.isSite()) {
Role siteMemberRole = RoleLocalServiceUtil.getRole(group.getCompanyId(), RoleConstants.SITE_MEMBER);
permissionQuery.addTerm(Field.GROUP_ROLE_ID, group.getGroupId() + StringPool.DASH + siteMemberRole.getRoleId());
}
}
Aggregations