• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/controllers/epic.php
  • Класс: BitrixTasksScrumControllersEpic
  • Вызов: Epic::getEpicFilesAction
public function getEpicFilesAction(int $epicId): ?Component
{
	if (!Loader::includeModule('disk'))
	{
		$this->errorCollection->setError(
			new Error(
				Loc::getMessage('TASKS_EC_ERROR_INCLUDE_MODULE_ERROR'),
				self::ERROR_COULD_NOT_LOAD_MODULE
			)
		);

		return null;
	}

	$userId = UtilUser::getId();

	$epicService = new EpicService();

	$epic = $epicService->getEpic($epicId);
	if (!$epic->getId())
	{
		$this->errorCollection->setError(
			new Error(Loc::getMessage('TASKS_EC_ERROR_COULD_NOT_READ_EPIC'))
		);

		return null;
	}

	if (!Group::canReadGroupTasks($userId, $epic->getGroupId()))
	{
		$this->errorCollection->setError(
			new Error(
				Loc::getMessage('TASKS_EC_ERROR_ACCESS_DENIED'),
				self::ERROR_ACCESS_DENIED
			)
		);

		return null;
	}

	$userFields = $epicService->getFilesUserField($this->userFieldManager, $epicId);
	if ($epicService->getErrors())
	{
		$this->errorCollection->add($epicService->getErrors());

		return null;
	}

	$fileField = $userFields['UF_SCRUM_EPIC_FILES'];

	return new Component(
		'bitrix:system.field.view',
		$fileField['USER_TYPE']['USER_TYPE_ID'],
		[
			'arUserField' => $fileField,
		]
	);
}