- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/Timeline/Item/Activity/Document.php
- Класс: Bitrix\Crm\Service\Timeline\Item\Activity\Document
- Вызов: Document::getContentBlocks
public function getContentBlocks(): ?array
{
$blocks = [];
$documentsPermissions = Driver::getInstance()->getUserPermissions($this->getContext()->getUserId());
if ($this->isScheduled() && $documentsPermissions->canModifyDocument($this->getDocument()))
{
$titleBlock =
(new Layout\Body\ContentBlock\EditableText())
->setValue($this->getDocumentTitle())
->setAction(
(new Layout\Action\JsEvent('Document:UpdateTitle'))
->addActionParamInt('documentId', $this->getDocumentId())
,
)
;
$createDateBlock =
(new Layout\Body\ContentBlock\EditableDate())
->setDate($this->getDocumentCreateDate())
->setAction(
(new Layout\Action\JsEvent('Document:UpdateCreateDate'))
->addActionParamInt('documentId', $this->getDocumentId())
,
)
;
}
else
{
$titleBlock =
(new Layout\Body\ContentBlock\Text())
->setValue($this->getDocumentTitle())
;
$createDateBlock =
(new Layout\Body\ContentBlock\Text())
->setValue((string)$this->getDocumentCreateDate())
;
}
$blocks['titleAndCreateDate'] = Layout\Body\ContentBlock\ContentBlockFactory::createLineOfTextFromTemplate(
(string)Loc::getMessage('CRM_TIMELINE_ACTIVITY_DOCUMENT_TITLE_AND_CREATE_DATE'),
[
'#TITLE#' => $titleBlock,
'#CREATE_DATE#' => $createDateBlock,
],
'titleAndCreateDate',
);
$productsCount = $this->getProductsCount();
$opportunity = $this->getOpportunity();
if (!is_null($opportunity))
{
if ($productsCount > 0)
{
$blocks['opportunityTitle'] =
(new Layout\Body\ContentBlock\Link())
->setValue(
Loc::getMessage('CRM_TIMELINE_ACTIVITY_DOCUMENT_SUM_TITLE_WITH_PRODUCTS', ['#PRODUCTS_COUNT#' => $productsCount])
)
->setAction(
(new Layout\Action\JsEvent('Item:OpenEntityDetailTab'))
->addActionParamString('tabId', 'tab_products')
)
;
}
else
{
$blocks['opportunityTitle'] =
(new Layout\Body\ContentBlock\Text())
->setValue(Loc::getMessage('CRM_TYPE_ITEM_FIELD_OPPORTUNITY'))
;
}
$blocks['opportunity'] =
(new Layout\Body\ContentBlock\Money())
->setOpportunity($opportunity)
->setCurrencyId($this->getCurrencyId())
;
}
$blocks['myCompany'] =
(new Layout\Body\ContentBlock\ContentBlockWithTitle())
->setTitle(Loc::getMessage('CRM_TYPE_ITEM_FIELD_MYCOMPANY_ID'))
->setContentBlock(
(new Layout\Body\ContentBlock\Text())
->setValue($this->getMyCompanyCaption())
)
;
$blocks['client'] =
(new Layout\Body\ContentBlock\ContentBlockWithTitle())
->setTitle(Loc::getMessage('CRM_COMMON_CLIENT'))
->setContentBlock(
(new Layout\Body\ContentBlock\Text())
->setValue($this->getClientCaption())
)
;
return $blocks;
}