• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/component/itemlist.php
  • Класс: Bitrix\Crm\Component\ItemList
  • Вызов: ItemList::getToolbarSettingsItems
protected function getToolbarSettingsItems(): array
{
	$settingsItems = [];
	$router = Service\Container::getInstance()->getRouter();
	$userPermissions = Container::getInstance()->getUserPermissions();
	if ($userPermissions->canWriteConfig())
	{
		if ($userPermissions->canUpdateType($this->entityTypeId))
		{
			$settingsItems[] = [
				'text' => Loc::getMessage('CRM_TYPE_TYPE_SETTINGS'),
				'href' => $router->getTypeDetailUrl($this->entityTypeId),
				'onclick' => new Buttons\JsHandler('BX.Crm.Router.Instance.closeSettingsMenu'),
			];
		}
		$dynamicTypesLimit = RestrictionManager::getDynamicTypesLimitRestriction();
		$isTypeSettingsRestricted = $dynamicTypesLimit->isTypeSettingsRestricted($this->entityTypeId);
		if ($isTypeSettingsRestricted)
		{
			$settingsItems[] = [
				'text' => Loc::getMessage('CRM_TYPE_TYPE_FIELDS_SETTINGS'),
				'onclick' => $dynamicTypesLimit->getShowFeatureJsHandler(),
			];
		}
		else
		{
			$settingsItems[] = [
				'text' => Loc::getMessage('CRM_TYPE_TYPE_FIELDS_SETTINGS'),
				'href' => $router->getUserFieldListUrl($this->entityTypeId),
				'onclick' => new Buttons\JsHandler('BX.Crm.Router.Instance.closeSettingsMenu'),
			];
		}
	}

	return $settingsItems;
}