Fix course document link

pull/3064/head
Julio Montoya 6 years ago
parent 2d4e5c30e6
commit ac0169e41c
  1. 31
      src/CoreBundle/Controller/ResourceController.php
  2. 3
      src/CourseBundle/Resources/config/routing.yml

@ -463,6 +463,37 @@ class ResourceController extends BaseController implements CourseControllerInter
return $this->render('@ChamiloCore/Resource/info.html.twig', $params);
}
/**
* @param Request $request
* @param CDocumentRepository $documentRepo
* @param Glide $glide
*
* @return Response
* @throws \League\Flysystem\FileNotFoundException
*/
public function getDocumentAction(Request $request, CDocumentRepository $documentRepo, Glide $glide): Response
{
$file = $request->get('file');
$type = $request->get('type');
// see list of filters in config/services.yaml
$filter = $request->get('filter');
$type = !empty($type) ? $type : 'show';
$criteria = [
'path' => "/$file",
'course' => $this->getCourse(),
];
$document = $documentRepo->findOneBy($criteria);
if (null === $document) {
throw new NotFoundHttpException();
}
/** @var ResourceNode $resourceNode */
$resourceNode = $document->getResourceNode();
return $this->showFile($request, $resourceNode, $glide, $type, $filter);
}
/**
* @param Request $request
*

@ -21,7 +21,6 @@ resources_list:
requirements:
file: .+ # allow "/" in {file}
resources_get_file:
path: /resources/file/{id}
defaults:
@ -32,7 +31,7 @@ resources_get_file:
resources_document_get_file:
path: /courses/{course}/document/{file}
defaults:
_controller: Chamilo\CoreBundle\Controller\ResourceController::showAction
_controller: Chamilo\CoreBundle\Controller\ResourceController::getDocumentAction
requirements:
file: .+ # allow "/" in {file}

Loading…
Cancel
Save