• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Timeline/Item/Activity/CalendarSharing.php
  • Класс: Bitrix\Crm\Service\Timeline\Item\Activity\CalendarSharing
  • Вызов: CalendarSharing::buildContactBlock
private function buildContactBlock(): ?ContentBlock
{
	$settings = $this->getAssociatedEntityModel()->get('SETTINGS');

	if (!$settings)
	{
		return null;
	}

	$contactTypeId = $settings['CONTACT_TYPE_ID'] ?? null;
	$contactId = $settings['CONTACT_ID'] ?? null;
	$guestName = $settings['GUEST_NAME'] ?? null;

	if ((!$contactId || !$contactTypeId) && !$guestName)
	{
		return null;
	}

	if ($contactId && $contactTypeId)
	{
		$contactName = $this->getContactName($contactTypeId, $contactId);
		$contactUrl = $this->getContactUrl($contactTypeId, $contactId);
	}
	else
	{
		$contactName = $settings['GUEST_NAME'];
		$contactUrl = false;
	}


	return (new ContentBlock\ContentBlockWithTitle())
		->setInline()
		->setTitle(
			Loc::getMessage('CRM_TIMELINE_ITEM_CALENDAR_SHARING_CLIENT')
		)
		->setContentBlock(
			ContentBlock\ContentBlockFactory::createTextOrLink(
				$contactName, $contactUrl ? new Layout\Action\Redirect($contactUrl) : null
			)
		)
	;
}