Fix document upload process using the factory repository + fix URL

pull/3064/head
Julio 5 years ago
parent 69d4d745ba
commit 989b352f28
  1. 10
      src/CoreBundle/Controller/ResourceUploadController.php
  2. 11
      src/CoreBundle/EventListener/ResourceUploadListener.php

@ -22,6 +22,9 @@ use Symfony\Component\Security\Core\Exception\AccessDeniedException;
class ResourceUploadController extends BlueimpController
{
/**
* This will upload an image to the selected node id.
* This action is listend by the ResourceUploadListener
*
* @return JsonResponse
*/
public function upload()
@ -38,8 +41,6 @@ class ResourceUploadController extends BlueimpController
$courseId = $request->get('cid');
$sessionId = $request->get('sid');
$controller = $container->get('Chamilo\CoreBundle\Controller\ResourceController');
$course = null;
if (!empty($courseId)) {
$course = $doctrine->getRepository('ChamiloCoreBundle:Course')->find($courseId);
@ -53,7 +54,9 @@ class ResourceUploadController extends BlueimpController
$token = $container->get('security.token_storage')->getToken();
$user = $token->getUser();
$repo = $controller->getRepository($tool, $type);
// Create repository from tool and type.
$factory = $container->get('Chamilo\CoreBundle\Repository\ResourceFactory');
$repo = $factory->createRepository( $tool, $type);
/** @var ResourceNode $parent */
$parent = $repo->getResourceNodeRepository()->find($id);
@ -109,7 +112,6 @@ class ResourceUploadController extends BlueimpController
}
}
} catch (UploadException $e) {
// return nothing
return new JsonResponse([]);
}

@ -36,6 +36,9 @@ class ResourceUploadListener
{
/** @var AbstractResource $resource */
$resource = $event->getFile();
$courseId = $event->getRequest()->get('cid');
$sessionId = $event->getRequest()->get('sid');
$resourceNode = $resource->getResourceNode();
$tool = $resourceNode->getResourceType()->getTool();
@ -46,7 +49,13 @@ class ResourceUploadListener
//'thumbnail_url' => '',
'url' => $this->router->generate(
'chamilo_core_resource_view',
['tool' => $tool, 'type' => $type, 'id' => $resourceNode->getId()]
[
'id' => $resourceNode->getId(),
'tool' => $tool,
'type' => $type,
'cid' => $courseId,
'sid' => $sessionId,
]
),
'size' => format_file_size($resource->getSize()),
'type' => '',

Loading…
Cancel
Save