Completed
Push — master ( 7daaad...a8dd9d )
by Julito
09:46
created

CCourseDescriptionRepository::getTitleColumn()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 1
b 0
f 0
1
<?php
2
3
/* For licensing terms, see /license.txt */
4
5
namespace Chamilo\CourseBundle\Repository;
6
7
use Chamilo\CoreBundle\Component\Resource\Settings;
8
use Chamilo\CoreBundle\Component\Resource\Template;
9
use Chamilo\CoreBundle\Entity\Course;
10
use Chamilo\CoreBundle\Entity\ResourceNode;
11
use Chamilo\CoreBundle\Entity\Session;
12
use Chamilo\CoreBundle\Entity\User;
13
use Chamilo\CoreBundle\Form\Resource\CCourseDescriptionType;
14
use Chamilo\CoreBundle\Repository\GridInterface;
15
use Chamilo\CoreBundle\Repository\ResourceRepository;
16
use Chamilo\CourseBundle\Entity\CCourseDescription;
17
use Chamilo\CourseBundle\Entity\CGroup;
18
use Doctrine\ORM\QueryBuilder;
19
use Symfony\Component\Form\FormInterface;
20
21
final class CCourseDescriptionRepository extends ResourceRepository implements GridInterface
22
{
23
    public function getResourceSettings(): Settings
24
    {
25
        $settings = parent::getResourceSettings();
26
27
        $settings->setAllowResourceCreation(true);
28
29
        return $settings;
30
    }
31
32
    public function getTemplates(): Template
33
    {
34
        $templates = parent::getTemplates();
35
36
        $templates
37
            ->setViewResource('@ChamiloCore/Resource/course_description/view_resource.html.twig')
38
            ->setIndex('@ChamiloCore/Resource/course_description/index.html.twig');
39
40
        return $templates;
41
    }
42
43
    public function getResources(User $user, ResourceNode $parentNode, Course $course = null, Session $session = null, CGroup $group = null): QueryBuilder
44
    {
45
        return $this->getResourcesByCourse($course, $session, $group, $parentNode);
46
    }
47
48
    public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
49
    {
50
        /** @var CCourseDescription $newResource */
51
        $newResource = $form->getData();
52
53
        $newResource
54
            ->setCId($course->getId())
55
        ;
56
57
        if ($session) {
58
            $newResource->setSessionId($session->getId());
59
        }
60
61
        return $newResource;
62
    }
63
64
    public function getResourceFormType(): string
65
    {
66
        return CCourseDescriptionType::class;
67
    }
68
}
69