public boolean hasFullAccess(final TeamCalDO calendar, final Integer userId) { if (calendar == null || userId == null) { return false; } if (isOwner(userId, calendar) == true) { return true; } final Integer[] groupIds = StringHelper.splitToIntegers(calendar.getFullAccessGroupIds(), ","); final Integer[] userIds = StringHelper.splitToIntegers(calendar.getFullAccessUserIds(), ","); return hasAccess(groupIds, userIds, userId); }
public boolean hasReadonlyAccess(final TeamCalDO calendar, final Integer userId) { if (calendar == null || userId == null) { return false; } if (hasFullAccess(calendar, userId) == true) { // User has full access (which is more than read-only access). return false; } final Integer[] groupIds = StringHelper.splitToIntegers(calendar.getReadonlyAccessGroupIds(), ","); final Integer[] userIds = StringHelper.splitToIntegers(calendar.getReadonlyAccessUserIds(), ","); return hasAccess(groupIds, userIds, userId); }
public boolean hasMinimalAccess(final TeamCalDO calendar, final Integer userId) { if (calendar == null || userId == null) { return false; } if (hasFullAccess(calendar, userId) == true || hasReadonlyAccess(calendar, userId) == true) { // User has full access or read-only access (which is more than minimal access). return false; } final Integer[] groupIds = StringHelper.splitToIntegers(calendar.getMinimalAccessGroupIds(), ","); final Integer[] userIds = StringHelper.splitToIntegers(calendar.getMinimalAccessUserIds(), ","); return hasAccess(groupIds, userIds, userId); }