- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/controller.php
- Класс: Bitrix\Crm\Timeline\Controller
- Вызов: Controller::createItemByTimelineEntryId
protected function createItemByTimelineEntryId(Context $context, int $timelineEntryId):
?\Bitrix\Crm\Service\Timeline\Item
{
if ($timelineEntryId <= 0)
{
return null;
}
$timelineEntry = $this->getTimelineEntryFacade()->getById($timelineEntryId);
if (!$timelineEntry)
{
return null;
}
if ((new IgnoredItemsRules($context))->isTimelineItemIgnored($timelineEntry))
{
return null;
}
$timelineEntry['IS_FIXED'] = \Bitrix\Crm\Timeline\TimelineEntry::isFixed(
$timelineEntryId, $context->getEntityTypeId(), $context->getEntityId()
) ? 'Y' : 'N';
$timelineEntryArray = [$timelineEntry];
TimelineManager::prepareDisplayData(
$timelineEntryArray,
$context->getUserId(),
$context->getUserPermissions()->getCrmPermissions(),
$context->getType() !== Context::PULL
);
$timelineEntry = $timelineEntryArray[0] ?? null; // $timelineEntryArray can be modified in case of insufficient permissions
if (!$timelineEntry)
{
return null;
}
return Container::getInstance()->getTimelineHistoryItemFactory()::createItem(
$context,
$timelineEntry
);
}