- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_authorization_helper.php
- Класс: \CCrmAuthorizationHelper
- Вызов: CCrmAuthorizationHelper::CheckReadPermission
static function CheckReadPermission($entityType, $entityID, $userPermissions = null, $entityAttrs = null)
{
$entityTypeName = is_numeric($entityType)
? CCrmOwnerType::ResolveName($entityType)
: mb_strtoupper(strval($entityType));
$entityID = intval($entityID);
if(!$userPermissions)
{
$userPermissions = self::GetUserPermissions();
}
if (\Bitrix\Crm\Service\Container::getInstance()->getUserPermissions($userPermissions->GetUserID())->isAdmin())
{
return true;
}
if($entityID <= 0)
{
return !$userPermissions->HavePerm($entityTypeName, BX_CRM_PERM_NONE, 'READ');
}
if(!is_array($entityAttrs))
{
$entityAttrs = $userPermissions->GetEntityAttr($entityTypeName, $entityID);
}
return !$userPermissions->HavePerm($entityTypeName, BX_CRM_PERM_NONE, 'READ')
&& $userPermissions->CheckEnityAccess($entityTypeName, 'READ', isset($entityAttrs[$entityID]) ? $entityAttrs[$entityID] : array());
}