- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/helper/workgroup/access.php
- Класс: BitrixSocialnetworkHelperWorkgroupAccess
- Вызов: Access::canExclude
static function canExclude(array $params = []): bool
{
$groupId = (int)($params['groupId'] ?? 0);
$userId = ($params['userId'] ?? null);
$currentUserId = HelperUser::getCurrentUserId();
$group = WorkgroupTable::getList([
'filter' => [
'=ID' => $groupId,
],
'select' => [ 'ID', 'CLOSED', 'PROJECT', 'SCRUM_MASTER_ID', 'INITIATE_PERMS' ],
])->fetchObject();
if (!$group)
{
return false;
}
$targetUserRelation = UserToGroupTable::getList([
'filter' => [
'=GROUP_ID' => $groupId,
'=USER_ID' => $userId,
],
'select' => [ 'ID', 'ROLE', 'USER_ID', 'GROUP_ID', 'AUTO_MEMBER' ],
])->fetchObject();
$currentUserRelation = UserToGroupTable::getList([
'filter' => [
'=GROUP_ID' => $groupId,
'=USER_ID' => $currentUserId,
],
'select' => [ 'ID', 'ROLE', 'USER_ID', 'GROUP_ID' ],
])->fetchObject();
$accessManager = new AccessManager(
$group,
$targetUserRelation,
$currentUserRelation
);
return $accessManager->canExclude();
}