- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/item/workgroup/accessmanager.php
- Класс: BitrixSocialnetworkItemWorkgroupAccessManager
- Вызов: AccessManager::canJoin
public function canJoin(): bool
{
$this->checkGroupEntityFields([
'ID',
'CLOSED',
'VISIBLE',
]);
$this->checkRelationEntityFields($this->currentUserRelation, [
'GROUP_ID',
'INITIATED_BY_TYPE',
'ROLE',
]);
if (
!$this->isCurrentUserModuleAdmin
&& !$this->group->get('VISIBLE')
)
{
return false;
}
if (
$this->currentUserRelation
&& (
$this->currentUserRelation->get('ROLE') !== UserToGroupTable::ROLE_REQUEST
|| $this->currentUserRelation->get('INITIATED_BY_TYPE') !== UserToGroupTable::INITIATED_BY_GROUP
)
)
{
return false;
}
if (
!$this->isCurrentUserModuleAdmin
&& !$this->checkClosedGroup()
)
{
return false;
}
return true;
}