Example usage for com.liferay.portal.kernel.service.permission GroupPermissionUtil check

List of usage examples for com.liferay.portal.kernel.service.permission GroupPermissionUtil check

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.service.permission GroupPermissionUtil check.

Prototype

public static void check(PermissionChecker permissionChecker, long groupId, String actionId)
            throws PortalException 

Source Link

Usage

From source file:eu.gerhards.liferay.services.angular.service.impl.AngularGroupServiceImpl.java

License:Open Source License

public long[] checkGroups(long userId, long[] groupIds) throws PortalException {

    long[] oldGroupIds = null;

    PermissionChecker permissionChecker = getPermissionChecker();

    User user = null;// w ww.  j a v a2s.  co  m

    if (userId != CompanyConstants.SYSTEM) {

        // Add back any mandatory groups or groups that the administrator
        // does not have the rights to remove and check that he has the
        // permission to add a new group

        user = userPersistence.findByPrimaryKey(userId);

        List<Group> oldGroups = GroupLocalServiceUtil.getUserGroups(userId);

        oldGroupIds = new long[oldGroups.size()];

        for (int i = 0; i < oldGroups.size(); i++) {
            Group group = oldGroups.get(i);

            if (!ArrayUtil.contains(groupIds, group.getGroupId())
                    && (!GroupPermissionUtil.contains(permissionChecker, group, ActionKeys.ASSIGN_MEMBERS)
                            || SiteMembershipPolicyUtil.isMembershipProtected(permissionChecker,
                                    user.getUserId(), group.getGroupId())
                            || SiteMembershipPolicyUtil.isMembershipRequired(userId, group.getGroupId()))) {

                groupIds = ArrayUtil.append(groupIds, group.getGroupId());
            }

            oldGroupIds[i] = group.getGroupId();
        }
    }

    // Check that the administrator has the permission to add a new group
    // and that the group membership is allowed

    for (long groupId : groupIds) {
        if ((oldGroupIds != null) && ArrayUtil.contains(oldGroupIds, groupId)) {

            continue;
        }

        Group group = GroupLocalServiceUtil.getGroup(groupId);

        GroupPermissionUtil.check(permissionChecker, group, ActionKeys.ASSIGN_MEMBERS);
    }

    return groupIds;
}

From source file:eu.gerhards.liferay.services.angular.service.impl.AngularTeamServiceImpl.java

License:Open Source License

@Override
public void assignUserGroupTeam(long userGroupId, long teamId) throws PortalException {

    _log.info("Assigning user group with id " + userGroupId + " to team with id " + teamId);

    this.checkPersonalPermission(AngularActionKeys.ASSIGN_USER_TO_TEAM);

    GroupPermissionUtil.check(getPermissionChecker(), teamId, ActionKeys.ASSIGN_MEMBERS);

    _log.debug("    ... processing ...");

    TeamLocalServiceUtil.addUserGroupTeam(userGroupId, teamId);

}

From source file:eu.gerhards.liferay.services.angular.service.impl.AngularTeamServiceImpl.java

License:Open Source License

@Override
public boolean hasUserGroupTeam(long userGroupId, long teamId) throws PortalException {
    _log.info("Checking if user group with id " + userGroupId + " is part of team with id " + teamId);

    _log.debug("    ... service context ...");

    this.checkPersonalPermission(AngularActionKeys.LIST_USERS);

    GroupPermissionUtil.check(getPermissionChecker(), userGroupId, ActionKeys.VIEW);

    this.hasResourcePermission(teamId, ActionKeys.VIEW);

    _log.debug("    ... processing ...");

    return TeamLocalServiceUtil.hasUserGroupTeam(userGroupId, teamId);
}

From source file:eu.gerhards.liferay.services.angular.service.impl.AngularTeamServiceImpl.java

License:Open Source License

@Override
public boolean hasUserGroupTeams(long userGroupId) throws PortalException {

    _log.info("Checking if user group with id " + userGroupId + " is part of several teams");

    _log.debug("    ... service context ...");

    this.checkPersonalPermission(AngularActionKeys.LIST_USER_USER_GROUPS);

    GroupPermissionUtil.check(getPermissionChecker(), userGroupId, ActionKeys.VIEW);

    _log.debug("    ... processing ...");

    return TeamLocalServiceUtil.hasUserGroupTeams(userGroupId);
}