Search in sources :

Example 1 with Role

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);
}
Also used : Role(com.liferay.portal.model.Role) UserGroupRole(com.liferay.portal.model.UserGroupRole) LinkedHashMap(java.util.LinkedHashMap)

Example 2 with Role

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();
}
Also used : Role(com.liferay.portal.model.Role) UserGroupRole(com.liferay.portal.model.UserGroupRole) Indexer(com.liferay.portal.kernel.search.Indexer)

Example 3 with Role

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);
}
Also used : Role(com.liferay.portal.model.Role)

Example 4 with Role

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);
}
Also used : UserGroupRole(com.liferay.portal.model.UserGroupRole) Group(com.liferay.portal.model.Group) HashMap(java.util.HashMap) PermissionCheckerBag(com.liferay.portal.security.permission.PermissionCheckerBag) UniqueList(com.liferay.portal.kernel.util.UniqueList) UserGroupRole(com.liferay.portal.model.UserGroupRole) Role(com.liferay.portal.model.Role) Indexer(com.liferay.portal.kernel.search.Indexer) SearchPermissionChecker(com.liferay.portal.kernel.search.SearchPermissionChecker) PermissionChecker(com.liferay.portal.security.permission.PermissionChecker) AdvancedPermissionChecker(com.liferay.portal.security.permission.AdvancedPermissionChecker) AdvancedPermissionChecker(com.liferay.portal.security.permission.AdvancedPermissionChecker) ArrayList(java.util.ArrayList) UniqueList(com.liferay.portal.kernel.util.UniqueList) List(java.util.List)

Example 5 with Role

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());
    }
}
Also used : UserGroupRole(com.liferay.portal.model.UserGroupRole) Role(com.liferay.portal.model.Role)

Aggregations

Role (com.liferay.portal.model.Role)16 UserGroupRole (com.liferay.portal.model.UserGroupRole)11 Group (com.liferay.portal.model.Group)5 Indexer (com.liferay.portal.kernel.search.Indexer)4 User (com.liferay.portal.model.User)3 ThemeDisplay (com.liferay.portal.theme.ThemeDisplay)3 ArrayList (java.util.ArrayList)3 UserGroup (com.liferay.portal.model.UserGroup)2 ExpandoColumn (com.liferay.portlet.expando.model.ExpandoColumn)2 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 LinkedHashMap (java.util.LinkedHashMap)2 NoSuchRoleException (com.liferay.portal.NoSuchRoleException)1 PortalException (com.liferay.portal.kernel.exception.PortalException)1 SystemException (com.liferay.portal.kernel.exception.SystemException)1 BooleanQuery (com.liferay.portal.kernel.search.BooleanQuery)1 SearchPermissionChecker (com.liferay.portal.kernel.search.SearchPermissionChecker)1 UnicodeProperties (com.liferay.portal.kernel.util.UnicodeProperties)1 UniqueList (com.liferay.portal.kernel.util.UniqueList)1 Layout (com.liferay.portal.model.Layout)1