• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/controller/documentgenerator/template.php
  • Класс: Bitrix\Crm\Controller\DocumentGenerator\Template
  • Вызов: Template::updateAction
public function updateAction(\Bitrix\DocumentGenerator\Template $template, array $fields)
{
	$fileContent = null;
	if(isset($fields[static::FILE_PARAM_NAME]))
	{
		$fileContent = $fields[static::FILE_PARAM_NAME];
	}
	else
	{
		$fileContent = Application::getInstance()->getContext()->getRequest()->getFile(static::FILE_PARAM_NAME);
	}
	if($fileContent)
	{
		$fileId = $this->uploadFile($fileContent, [
			'isTemplate' => true,
		]);
		if(!$fileId)
		{
			return null;
		}
		$fields['fileId'] = $fileId;
	}
	else
	{
		$fileId = $template->FILE_ID;
	}
	$fields['moduleId'] = static::MODULE_ID;
	$providersMap = DocumentGeneratorManager::getInstance()->getCrmOwnerTypeProvidersMap();
	if(isset($fields['entityTypeId']) && is_array($fields['entityTypeId']))
	{
		$fields['providers'] = str_ireplace(array_keys($providersMap), array_values($providersMap), $fields['entityTypeId']);
	}

	$result = $this->proxyAction('updateAction', [$template, $fields]);

	if(is_array($result))
	{
		$result['template'] = $this->prepareTemplateData($result['template']);
	}
	elseif($fileContent)
	{
		FileTable::delete($fileId);
	}

	return $result;
}