EntityCounterType::getListFilterInfo

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. EntityCounterType
  4. getListFilterInfo
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/counter/entitycountertype.php
  • Класс: Bitrix\Crm\Counter\EntityCounterType
  • Вызов: EntityCounterType::getListFilterInfo
static function getListFilterInfo(array $params = null, array $options = null)
{
	Main\Localization\Loc::loadMessages(__FILE__);

	if($params === null)
	{
		$params = [];
	}

	if($options === null)
	{
		$options = [];
	}
	$entityTypeId = (int)($options['ENTITY_TYPE_ID'] ?? \CCrmOwnerType::Undefined);

	$items = [];
	if(!(isset($params['params']) && isset($params['params']['multiple']) && strcasecmp($params['params']['multiple'], 'Y') === 0))
	{
		//Add 'Not Selected' for single filter
		$items[''] = '';
	}

	$entityTypeId = (int)$entityTypeId;
	$factory = Container::getInstance()->getFactory($entityTypeId);
	if (!$factory)
	{
		return [];
	}

	$countersSettings = $factory->getCountersSettings();

	if ($countersSettings->isIncomingCounterEnabledInFilter())
	{
		$items[self::INCOMING_CHANNEL] = GetMessage('CRM_ENTITY_COUNTER_TYPE_FILTER_INCOMING_CHANNEL');
	}
	if ($countersSettings->isPendingCounterEnabledInFilter() || $countersSettings->isCurrentCounterEnabledInFilter())
	{
		$items[self::PENDING] = GetMessage('CRM_ENTITY_COUNTER_TYPE_FILTER_PENDING');
	}
	if ($countersSettings->isOverdueCounterEnabledInFilter() || $countersSettings->isCurrentCounterEnabledInFilter())
	{
		$items[self::OVERDUE] = GetMessage('CRM_ENTITY_COUNTER_TYPE_FILTER_OVERDUE');
	}
	if ($countersSettings->isIdleCounterEnabledInFilter())
	{
		$items[self::IDLE] = GetMessage('CRM_ENTITY_COUNTER_TYPE_FILTER_IDLE');
	}
	if ($countersSettings->isReadyToDoCounterEnabledInFilter())
	{
		$items[self::READY_TODO] = GetMessage('CRM_ENTITY_COUNTER_TYPE_FILTER_READY_TODO');
	}

	return array_merge(
		[
			'type' => 'list',
			'items' => $items,
		],
		$params
	);
}

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