diff --git a/src/CoreBundle/Controller/ResourceController.php b/src/CoreBundle/Controller/ResourceController.php index 9e19257e9a..8312fe3c7a 100644 --- a/src/CoreBundle/Controller/ResourceController.php +++ b/src/CoreBundle/Controller/ResourceController.php @@ -639,9 +639,6 @@ class ResourceController extends AbstractResourceController implements CourseCon */ public function deleteAction(Request $request): Response { - $tool = $request->get('tool'); - $type = $request->get('type'); - $em = $this->getDoctrine()->getManager(); $id = $request->get('id'); @@ -676,8 +673,6 @@ class ResourceController extends AbstractResourceController implements CourseCon */ public function deleteMassAction($primaryKeys, $allPrimaryKeys, Request $request): Response { - $tool = $request->get('tool'); - $type = $request->get('type'); $em = $this->getDoctrine()->getManager(); $repo = $this->getRepositoryFromRequest($request); @@ -880,6 +875,8 @@ class ResourceController extends AbstractResourceController implements CourseCon if (!empty($resourceNodeId)) { $breadcrumb = $this->getBreadCrumb(); + $toolParams = $routeParams; + $toolParams['id'] = null; // Root tool link $breadcrumb->addChild( @@ -887,7 +884,7 @@ class ResourceController extends AbstractResourceController implements CourseCon [ 'uri' => $this->generateUrl( 'chamilo_core_resource_index', - $routeParams + $toolParams ), ] ); @@ -1056,10 +1053,9 @@ class ResourceController extends AbstractResourceController implements CourseCon $repository = $this->getRepositoryFromRequest($request); - $course = $this->getCourse(); - $session = $this->getSession(); // Default parent node is course. $parentNode = $this->getParentResourceNode($request); + //var_dump($parentNode->getPath()); $this->denyAccessUnlessGranted( ResourceNodeVoter::CREATE, @@ -1067,14 +1063,10 @@ class ResourceController extends AbstractResourceController implements CourseCon $this->trans('Unauthorised access to resource') ); - $form = $repository->getForm($this->container->get('form.factory')); - - $courseParams = $this->getResourceParams($request); + $form = $repository->getForm($this->container->get('form.factory'), null); if ($fileType === 'file') { - $params = $courseParams; - $params['id'] = $resourceNodeParentId; - + $resourceParams = $this->getResourceParams($request); $form->add( 'content', CKEditorType::class, @@ -1082,7 +1074,7 @@ class ResourceController extends AbstractResourceController implements CourseCon 'mapped' => false, 'config' => [ 'filebrowserImageBrowseRoute' => 'resources_filemanager', - 'filebrowserImageBrowseRouteParameters' => $params, + 'filebrowserImageBrowseRouteParameters' => $resourceParams, ], ] ); @@ -1092,6 +1084,9 @@ class ResourceController extends AbstractResourceController implements CourseCon if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); + $course = $this->getCourse(); + $session = $this->getSession(); + /** @var AbstractResource $newResource */ $newResource = $repository->saveResource($form, $course, $session, $fileType); diff --git a/src/CoreBundle/Entity/PersonalFile.php b/src/CoreBundle/Entity/PersonalFile.php index 73154149dd..e6dde9f2c1 100644 --- a/src/CoreBundle/Entity/PersonalFile.php +++ b/src/CoreBundle/Entity/PersonalFile.php @@ -36,12 +36,8 @@ class PersonalFile extends AbstractResource implements ResourceInterface */ protected $name; - /** - * Illustration constructor. - */ public function __construct() { - $this->name = 'personal_file'; } public function __toString(): string diff --git a/src/CoreBundle/Repository/PersonalFileRepository.php b/src/CoreBundle/Repository/PersonalFileRepository.php index 9e4626f37e..d7fee3f59a 100644 --- a/src/CoreBundle/Repository/PersonalFileRepository.php +++ b/src/CoreBundle/Repository/PersonalFileRepository.php @@ -5,12 +5,26 @@ namespace Chamilo\CoreBundle\Repository; use APY\DataGridBundle\Grid\Column\Column; use APY\DataGridBundle\Grid\Grid; +use Chamilo\CoreBundle\Component\Utils\ResourceSettings; use Chamilo\CoreBundle\Entity\PersonalFile; use Symfony\Component\Form\FormInterface; use Symfony\Component\HttpFoundation\File\UploadedFile; final class PersonalFileRepository extends ResourceRepository implements ResourceRepositoryInterface { + public function getResourceSettings(): ResourceSettings + { + $settings = parent::getResourceSettings(); + + $settings + ->setAllowNodeFolderCreation(true) + //->setAllowResourceContentCreation(true) + ->setAllowResourceUploadCreation(true) + ; + + return $settings; + } + public function saveUpload(UploadedFile $file) { $resource = new PersonalFile();