• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/timeline/waitcontroller.php
  • Класс: Bitrix\Crm\Timeline\WaitController
  • Вызов: WaitController::onCreate
public function onCreate($ID, array $params)
{
	if(!is_int($ID))
	{
		$ID = (int)$ID;
	}
	if($ID <= 0)
	{
		throw new Main\ArgumentException('ID must be greater than zero.', 'ID');
	}

	$fields = isset($params['FIELDS']) && is_array($params['FIELDS']) ? $params['FIELDS'] : null;
	if(!is_array($fields))
	{
		$fields = WaitEntry::getByID($ID);
	}
	if(!is_array($fields))
	{
		return;
	}

	$ownerTypeID = isset($fields['OWNER_TYPE_ID']) ? (int)$fields['OWNER_TYPE_ID'] : 0;
	$ownerID = isset($fields['OWNER_ID']) ? (int)$fields['OWNER_ID'] : 0;

	if(Main\Loader::includeModule('pull'))
	{
		$pushParams = array(
			'ENTITY' => self::prepareEntityDataModel($ID, $fields),
			'SCHEDULE_ITEM' => self::prepareScheduleDataModel(
				$fields,
				array('ENABLE_USER_INFO' => true)
			)
		);

		$tag = $pushParams['TAG'] = TimelineEntry::prepareEntityPushTag($ownerTypeID, $ownerID);
		\CPullWatch::AddToStack(
			$tag,
			array(
				'module_id' => 'crm',
				'command' => 'timeline_wait_add',
				'params' => $pushParams,
			)
		);
	}
}