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