LP: Fix fatal errors

pull/3984/head
Julio 4 years ago
parent fbaf94eb69
commit 14e06d1d59
  1. 7
      public/main/inc/ajax/lp.ajax.php
  2. 2
      src/CourseBundle/Entity/CForum.php
  3. 8
      src/CourseBundle/Repository/CForumCategoryRepository.php
  4. 1
      tests/CourseBundle/Repository/CLpItemRepositoryTest.php

@ -231,6 +231,7 @@ switch ($action) {
$forum = $lpRepo->findForumByCourse($lp, $course);
if (null === $forum) {
/** @var CForumCategory|null $forumCategory */
$forumCategory = $forumCategoryRepo->getForumCategoryByTitle(
get_lang('Learning paths'),
$course,
@ -238,13 +239,13 @@ switch ($action) {
);
if (null === $forumCategory) {
$category = new CForumCategory();
$category
$forumCategory = new CForumCategory();
$forumCategory
->setCatTitle(get_lang('Learning paths'))
->setParent($course)
->addCourseLink($course, $session)
;
$forumCategoryRepo->create($category);
$forumCategoryRepo->create($forumCategory);
}
$forum = new CForum();

@ -137,7 +137,7 @@ class CForum extends AbstractResource implements ResourceInterface
protected ?DateTime $endTime = null;
/**
* @ORM\ManyToOne(targetEntity="Chamilo\CourseBundle\Entity\CLp", inversedBy="forum", cascade={"remove"})
* @ORM\ManyToOne(targetEntity="Chamilo\CourseBundle\Entity\CLp", inversedBy="forums", cascade={"remove"})
* @ORM\JoinColumn(name="lp_id", referencedColumnName="iid", nullable=true, onDelete="SET NULL")
*/
protected ?CLp $lp = null;

@ -7,6 +7,7 @@ declare(strict_types=1);
namespace Chamilo\CourseBundle\Repository;
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CoreBundle\Entity\ResourceNode;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Entity\User;
@ -23,17 +24,14 @@ class CForumCategoryRepository extends ResourceRepository
parent::__construct($registry, CForumCategory::class);
}
public function getForumCategoryByTitle(string $title, Course $course, Session $session = null): ?CForumCategory
public function getForumCategoryByTitle(string $title, Course $course, Session $session = null): ?ResourceInterface
{
/** @var CForumCategory|null $result */
$result = $this->findCourseResourceByTitle(
return $this->findCourseResourceByTitle(
$title,
$course->getResourceNode(),
$course,
$session
);
return $result;
}
/*public function getResources(User $user, ResourceNode $parentNode, Course $course = null, Session $session = null, CGroup $group = null): QueryBuilder

@ -43,6 +43,7 @@ class CLpItemRepositoryTest extends AbstractApiTest
$lpItem = (new CLpItem())
->setDescription('lp')
->setTitle('lp item')
->setRef('ref')
->setLp($lp)
->setItemType('document')
;

Loading…
Cancel
Save