- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/timeline/calendarsharing/controller.php
- Класс: Bitrix\Crm\Timeline\CalendarSharing\Controller
- Вызов: Controller::handleCalendarSharingEvent
protected function handleCalendarSharingEvent(
int $typeCategoryId,
int $typeId,
ItemIdentifier $identifier,
EventData $eventData
): ?int
{
$bindings = $this->getBindings($identifier, $eventData);
$timelineEntry = $this->getTimelineEntryFacade()->create(
Timeline\TimelineEntry\Facade::CALENDAR_SHARING,
[
'ENTITY_TYPE_ID' => $identifier->getEntityTypeId(),
'ENTITY_ID' => $identifier->getEntityId(),
'TYPE_ID' => $typeId,
'TYPE_CATEGORY_ID' => $typeCategoryId,
'AUTHOR_ID' => $eventData->getOwnerId(),
'SETTINGS' => $this->getSettings($eventData),
'BINDINGS' => $bindings,
'ASSOCIATED_ENTITY_ID' => $eventData->getAssociatedEntityId(),
'ASSOCIATED_ENTITY_TYPE_ID' => $eventData->getAssociatedEntityTypeId(),
],
);
if (!$timelineEntry)
{
return null;
}
foreach ($bindings as $binding)
{
$this->sendPullEventOnAdd($binding, $timelineEntry);
}
return $timelineEntry;
}