• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/controller/timeline.php
  • Класс: BitrixRpaControllerTimeline
  • Вызов: Timeline::updateAction
public function updateAction(BitrixRpaModelTimeline $timeline, array $fields): ?array
{
	$item = $timeline->getItem();
	if(!$item)
	{
		$this->addError(new Error(Loc::getMessage('RPA_ITEM_NOT_FOUND_ERROR')));
		return null;
	}
	if(!Driver::getInstance()->getUserPermissions()->canViewItem($item))
	{
		$this->addError(new Error(Loc::getMessage('RPA_VIEW_ITEM_ACCESS_DENIED')));
		return null;
	}
	if(
		$timeline->getUserId() !== Driver::getInstance()->getUserId()
		|| $timeline->getData()['scope'] !== ItemHistoryTable::SCOPE_REST
	)
	{
		$this->addError(new Error('Access denied'));
		return null;
	}

	if(isset($fields['title']))
	{
		$timeline->setTitle($fields['title']);
	}
	if(isset($fields['description']))
	{
		$timeline->setDescription($fields['description']);
	}

	$result = $timeline->save();

	if($result->isSuccess())
	{
		Driver::getInstance()->getPullManager()->sendTimelineUpdateEvent($timeline);
		return [
			'timeline' => $timeline->preparePublicData(),
		];
	}

	$this->addErrors($result->getErrors());
	return null;
}