Example usage for com.liferay.portal.kernel.security.permission ActionKeys UPDATE_USER

List of usage examples for com.liferay.portal.kernel.security.permission ActionKeys UPDATE_USER

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.security.permission ActionKeys UPDATE_USER.

Prototype

String UPDATE_USER

To view the source code for com.liferay.portal.kernel.security.permission ActionKeys UPDATE_USER.

Click Source Link

Usage

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

License:Open Source License

protected void checkDeleteUserPermission(long deleteUserId, long companyId, long userId,
        ServiceContext serviceContext) throws PortalException {

    Company company = CompanyLocalServiceUtil.getCompany(companyId);

    boolean anonymousUser = ParamUtil.getBoolean(serviceContext, "anonymousUser");

    long defaultUserId = userLocalService.getDefaultUserId(companyId);

    if (((deleteUserId != 0) && (deleteUserId != defaultUserId))
            || (!company.isStrangers() && !anonymousUser)) {

        PermissionChecker permissionChecker = getPermissionChecker();

        // Check if user has an according group added with assign members

        User creator = this.getUser(deleteUserId);

        long[] creatorUserGroupIds = creator.getGroupIds();
        boolean hasGroupRight = false;

        // Either group needs right ADD_USER
        if (creatorUserGroupIds != null && creatorUserGroupIds.length > 0) {
            int index = 0;
            while (!hasGroupRight && index < creatorUserGroupIds.length) {
                hasGroupRight = UserGroupPermissionUtil.contains(getPermissionChecker(),
                        creatorUserGroupIds[index++], ActionKeys.DELETE_USER);
            }/*from  ww  w  . jav  a2  s .c o m*/
        }

        // or the user itself
        if (!hasGroupRight && !PortalPermissionUtil.contains(permissionChecker, ActionKeys.DELETE_USER)) {

            throw new PrincipalException.MustHavePermission(permissionChecker, Organization.class.getName(), 0,
                    ActionKeys.UPDATE_USER, ActionKeys.ASSIGN_MEMBERS);
        }

    }

}

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

License:Open Source License

protected void checkUpdateUserPermission(long updateUserId, long userId, long companyId, long[] groupIds,
        long[] organizationIds, long[] roleIds, long[] userGroupIds, ServiceContext serviceContext)
        throws PortalException {

    Company company = CompanyLocalServiceUtil.getCompany(companyId);

    // Adding user must be member of everything he adds

    long[] userIds = new long[] { updateUserId };

    // Check if creator / updater is also part in the groups
    ServicePermissionUtil.checkMembership(userIds, groupIds, organizationIds, roleIds, userGroupIds);

    if (groupIds != null && groupIds.length > 0) {
        PortalPermissionUtil.check(getPermissionChecker(), ActionKeys.ADD_USER);
        angularGroupService.checkGroups(userId, groupIds);
    }// w w w  . j a  v a 2 s. c o  m

    if (organizationIds != null && organizationIds.length > 0) {
        PortalPermissionUtil.check(getPermissionChecker(), ActionKeys.ADD_ORGANIZATION);
        angularOrganizationService.checkOrganizations(userId, organizationIds);
    }

    if (roleIds != null && roleIds.length > 0) {
        PortalPermissionUtil.check(getPermissionChecker(), ActionKeys.ADD_ROLE);
        angularRoleService.checkRoles(userId, roleIds);
    }

    if (userGroupIds != null && userGroupIds.length > 0) {
        PortalPermissionUtil.check(getPermissionChecker(), ActionKeys.ADD_USER_GROUP);
        angularUserGroupService.checkUserGroupIds(userId, userGroupIds);
    }

    if (serviceContext == null) {
        serviceContext = new ServiceContext();
    }

    boolean anonymousUser = ParamUtil.getBoolean(serviceContext, "anonymousUser");

    long defaultUserId = userLocalService.getDefaultUserId(companyId);

    if (((updateUserId != 0) && (updateUserId != defaultUserId))
            || (!company.isStrangers() && !anonymousUser)) {

        UserPermissionUtil.check(getPermissionChecker(), updateUserId, ActionKeys.UPDATE_USER);

        UserPermissionUtil.check(getPermissionChecker(), userId, organizationIds, ActionKeys.UPDATE);
    }
}