Base::preparePermissionAttributes

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Base
  4. preparePermissionAttributes
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/security/controller/base.php
  • Класс: Bitrix\Crm\Security\Controller\Base
  • Вызов: Base::preparePermissionAttributes
protected function preparePermissionAttributes(array $fields): array
{
	$results = [];
	$assignedByID = isset($fields['ASSIGNED_BY_ID']) ? (int)$fields['ASSIGNED_BY_ID'] : 0;
	if ($assignedByID > 0)
	{
		$results[] = "U{$assignedByID}";

		$userAttrs = \Bitrix\Crm\Service\Container::getInstance()
			->getUserPermissions($assignedByID)
			->getAttributesProvider()
			->getEntityAttributes()
		;

		if (isset($userAttrs['INTRANET']) && is_array($userAttrs['INTRANET']))
		{
			$results = array_merge($results, $userAttrs['INTRANET']);
		}
	}

	if (isset($fields['OPENED']) && $fields['OPENED'] === 'Y')
	{
		$results[] = 'O';
	}

	if ($this->extractIsAlwaysReadableFromFields($fields))
	{
		$results[] = \CCrmPerms::ATTR_READ_ALL;
	}

	if ($this->hasProgressSteps())
	{
		$progressAttr = $this->prepareProgressStepAttribute($fields);
		if ($progressAttr !== '')
		{
			$results[] = $progressAttr;
		}
	}

	if ($this->isObservable() && isset($fields['OBSERVER_IDS']) && is_array($fields['OBSERVER_IDS']))
	{
		foreach ($fields['OBSERVER_IDS'] as $observerID)
		{
			$results[] = "CU{$observerID}";
		}
	}

	return $results;
}

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