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