• Модуль: 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());
}