CCrmDocument::ResolvePermissionEntity

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmDocument
  4. ResolvePermissionEntity
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_document.php
  • Класс: \CCrmDocument
  • Вызов: CCrmDocument::ResolvePermissionEntity
static function ResolvePermissionEntity(array $documentID, array $parameters = array())
{
	$entityTypeName = isset($documentID['TYPE']) ? $documentID['TYPE'] : '';
	$entityID = isset($documentID['ID']) ? (int)$documentID['ID'] : 0;

	$operationParams = array();
	// old school deal way, for back compatibility
	if($entityTypeName === CCrmOwnerType::DealName && isset($parameters['DealCategoryId']))
	{
		$operationParams['CATEGORY_ID'] = (int)$parameters['DealCategoryId'];
		return CCrmPerms::ResolvePermissionEntityType($entityTypeName, $entityID, $operationParams);
	}

	// modern way after bizproc new version, where category passed always
	if (isset($parameters['DocumentCategoryId']))
	{
		$entityTypeId = \CCrmOwnerType::ResolveID($entityTypeName);
		if ($entityTypeId > 0)
		{
			return Service\UserPermissions::getPermissionEntityType($entityTypeId, (int)$parameters['DocumentCategoryId']);
		}
	}

	// universal way where category determined based on $entityID
	return CCrmPerms::ResolvePermissionEntityType($entityTypeName, $entityID, $operationParams);
}

Добавить комментарий