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