- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/Timeline/Item/Activity/ToDo.php
- Класс: Bitrix\Crm\Service\Timeline\Item\Activity\ToDo
- Вызов: ToDo::getMenuItems
public function getMenuItems(): array
{
$items = parent::getMenuItems();
unset($items['view']);
if ($this->isScheduled() && $this->hasUpdatePermission())
{
$ownerTypeId = $this->getContext()->getIdentifier()->getEntityTypeId();
$ownerId = $this->getContext()->getIdentifier()->getEntityId();
$items['addFile'] = MenuItemFactory::createAddFileMenuItem()
->setAction((new Layout\Action\JsEvent('Activity:ToDo:AddFile'))
->addActionParamInt('entityTypeId', CCrmOwnerType::Activity)
->addActionParamInt('entityId', $this->getActivityId())
->addActionParamString('files', implode(',', array_column($this->fetchStorageFiles(), 'FILE_ID')))
->addActionParamInt('ownerTypeId', $ownerTypeId)
->addActionParamInt('ownerId', $ownerId)
)
;
$items['changeResponsible'] = MenuItemFactory::createChangeResponsibleMenuItem()
->setAction((new Layout\Action\JsEvent('Activity:ToDo:ChangeResponsible'))
->addActionParamInt('ownerTypeId', $ownerTypeId)
->addActionParamInt('ownerId', $ownerId)
->addActionParamInt('id', $this->getActivityId())
->addActionParamInt('responsibleId', (int)$this->getAssociatedEntityModel()->get('RESPONSIBLE_ID'))
)
;
if (Crm::isTimelineToDoCalendarSyncEnabled())
{
$items['settings'] = (new MenuItem(Loc::getMessage('CRM_TIMELINE_ITEM_TODO_SETTINGS')))
->setHideIfReadonly()
->setSort(9990)
->setAction((new Layout\Action\JsEvent('Activity:ToDo:ShowSettings'))
->addActionParamInt('entityTypeId', CCrmOwnerType::Activity)
->addActionParamInt('entityId', $this->getActivityId())
->addActionParamInt('ownerTypeId', $ownerTypeId)
->addActionParamInt('ownerId', $ownerId)
)
->setScopeWeb()
;
}
}
return $items;
}