Fix installation

pull/3064/head
Julio 6 years ago
parent bd511b89c9
commit f67c92fef1
  1. 6
      public/main/install/install.lib.php
  2. 2
      src/CoreBundle/Controller/ResourceController.php
  3. 15
      src/CoreBundle/Entity/Resource/ResourceType.php
  4. 5
      src/CoreBundle/Repository/ResourceRepository.php
  5. 2
      src/CoreBundle/Resources/config/repositories.yml
  6. 4
      src/CoreBundle/ToolChain.php

@ -3307,17 +3307,21 @@ function finishInstallationWithContainer(
'', '',
false false
); );
error_log('Adding access url as a node'); error_log('Adding access url as a node');
$userManager = $container->get('Chamilo\UserBundle\Repository\UserRepository'); $userManager = $container->get('Chamilo\UserBundle\Repository\UserRepository');
$urlRepo = $container->get('Chamilo\CoreBundle\Repository\AccessUrlRepository'); $urlRepo = $container->get('Chamilo\CoreBundle\Repository\AccessUrlRepository');
$urlRepo->getEntityManager()->flush();
$accessUrl = $urlRepo->find(1); $accessUrl = $urlRepo->find(1);
$admin = $userManager->find($adminId); $admin = $userManager->find($adminId);
$urlRepo->addResourceNode($accessUrl, $admin); $urlRepo->addResourceNode($accessUrl, $admin);
$urlRepo->getEntityManager()->flush();
$userManager->addUserToResourceNode($adminId, $adminId, $accessUrl); $userManager->addUserToResourceNode($adminId, $adminId, $accessUrl);
$userManager->addUserToResourceNode($anonId, $adminId, $accessUrl); $userManager->addUserToResourceNode($anonId, $adminId, $accessUrl);
$urlRepo->getEntityManager()->flush();
// Set default language // Set default language
Database::update( Database::update(
Database::get_main_table(TABLE_MAIN_LANGUAGE), Database::get_main_table(TABLE_MAIN_LANGUAGE),

@ -112,8 +112,6 @@ class ResourceController extends AbstractResourceController implements CourseCon
public function getGrid(Request $request, Grid $grid, $resourceNodeId): Grid public function getGrid(Request $request, Grid $grid, $resourceNodeId): Grid
{ {
$id = (int) $request->get('id');
$repository = $this->getRepositoryFromRequest($request); $repository = $this->getRepositoryFromRequest($request);
$class = $repository->getRepository()->getClassName(); $class = $repository->getRepository()->getClassName();

@ -35,7 +35,7 @@ class ResourceType
* *
* @Assert\NotBlank() * @Assert\NotBlank()
*/ */
protected $entityName; protected $service;
/** /**
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Tool", inversedBy="resourceTypes") * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Tool", inversedBy="resourceTypes")
@ -143,19 +143,22 @@ class ResourceType
return $this; return $this;
} }
public function getEntityName(): string /**
* @return mixed
*/
public function getService()
{ {
return $this->entityName; return $this->service;
} }
/** /**
* @param string $entityName * @param mixed $service
* *
* @return ResourceType * @return ResourceType
*/ */
public function setEntityName($entityName) public function setService($service)
{ {
$this->entityName = $entityName; $this->service = $service;
return $this; return $this;
} }

@ -181,7 +181,6 @@ class ResourceRepository extends EntityRepository
$em = $this->getEntityManager(); $em = $this->getEntityManager();
$resourceType = $this->getResourceType(); $resourceType = $this->getResourceType();
$resourceNode = new ResourceNode(); $resourceNode = new ResourceNode();
$resourceName = $resource->getResourceName(); $resourceName = $resource->getResourceName();
$extension = $this->slugify->slugify(pathinfo($resourceName, PATHINFO_EXTENSION)); $extension = $this->slugify->slugify(pathinfo($resourceName, PATHINFO_EXTENSION));
@ -347,10 +346,10 @@ class ResourceRepository extends EntityRepository
public function getResourceType() public function getResourceType()
{ {
$em = $this->getEntityManager(); $em = $this->getEntityManager();
$entityName = $this->getRepository()->getClassName(); $service = get_class($this);
return $em->getRepository('ChamiloCoreBundle:Resource\ResourceType')->findOneBy( return $em->getRepository('ChamiloCoreBundle:Resource\ResourceType')->findOneBy(
['entityName' => $entityName] ['service' => $service]
); );
} }

@ -12,7 +12,7 @@ services:
exclude: '../../Repository/{BranchSyncRepository.php,ResourceRepository.php,ResourceNodeRepository.php}' exclude: '../../Repository/{BranchSyncRepository.php,ResourceRepository.php,ResourceNodeRepository.php}'
tags: ['doctrine.repository_service'] tags: ['doctrine.repository_service']
# Entity repository as a service # Resource repositories
Chamilo\CoreBundle\Repository\AccessUrlRepository: Chamilo\CoreBundle\Repository\AccessUrlRepository:
arguments: arguments:
$className: 'Chamilo\CoreBundle\Entity\AccessUrl' $className: 'Chamilo\CoreBundle\Entity\AccessUrl'

@ -93,7 +93,7 @@ class ToolChain
foreach ($types as $name => $data) { foreach ($types as $name => $data) {
$resourceType = new ResourceType(); $resourceType = new ResourceType();
$resourceType->setName($name); $resourceType->setName($name);
$resourceType->setEntityName($data['repository']); $resourceType->setService($data['repository']);
$resourceType->setTool($toolEntity); $resourceType->setTool($toolEntity);
$manager->persist($resourceType); $manager->persist($resourceType);
} }
@ -126,7 +126,7 @@ class ToolChain
foreach ($types as $name => $data) { foreach ($types as $name => $data) {
$resourceType = new ResourceType(); $resourceType = new ResourceType();
$resourceType->setName($name); $resourceType->setName($name);
$resourceType->setEntityName($data['entity']); $resourceType->setService($data['entity']);
$resourceType->setTool($toolEntity); $resourceType->setTool($toolEntity);
$manager->persist($resourceType); $manager->persist($resourceType);
} }

Loading…
Cancel
Save