Passed
Push — master ( d88203...94a809 )
by Julito
07:42
created

PersonalFileRepository   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 42
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getResources() 0 3 1
A setResourceProperties() 0 11 1
A getResourceFormType() 0 3 1
A __construct() 0 3 1
A getResourceSettings() 0 12 1
1
<?php
2
3
/* For licensing terms, see /license.txt */
4
5
namespace Chamilo\CoreBundle\Repository\Node;
6
7
use Chamilo\CoreBundle\Component\Resource\Settings;
8
use Chamilo\CoreBundle\Entity\Course;
9
use Chamilo\CoreBundle\Entity\PersonalFile;
10
use Chamilo\CoreBundle\Entity\ResourceNode;
11
use Chamilo\CoreBundle\Entity\Session;
12
use Chamilo\CoreBundle\Entity\User;
13
use Chamilo\CoreBundle\Form\Resource\PersonalFileType;
14
use Chamilo\CoreBundle\Repository\GridInterface;
15
use Chamilo\CoreBundle\Repository\ResourceRepository;
16
use Chamilo\CourseBundle\Entity\CGroup;
17
use Doctrine\ORM\QueryBuilder;
18
use Doctrine\Persistence\ManagerRegistry;
19
use Symfony\Component\Form\FormInterface;
20
21
final class PersonalFileRepository extends ResourceRepository implements GridInterface
22
{
23
    public function __construct(ManagerRegistry $registry)
24
    {
25
        parent::__construct($registry, PersonalFile::class);
26
    }
27
28
    public function getResources(User $user, ResourceNode $parentNode, Course $course = null, Session $session = null, CGroup $group = null): QueryBuilder
29
    {
30
        return $this->getResourcesByCreator($user, $parentNode);
31
    }
32
33
    public function getResourceSettings(): Settings
34
    {
35
        $settings = parent::getResourceSettings();
36
37
        $settings
38
            ->setAllowNodeCreation(true)
39
            //->setAllowResourceCreation(true)
40
            ->setAllowResourceUpload(true)
41
            ->setAllowResourceEdit(false)
42
        ;
43
44
        return $settings;
45
    }
46
47
    public function setResourceProperties(FormInterface $form, $course, $session, $fileType)
48
    {
49
        $newResource = $form->getData();
50
        $newResource
51
            //->setCourse($course)
52
            //->setSession($session)
53
            //->setFiletype($fileType)
54
            //->setTitle($title) // already added in $form->getData()
55
        ;
56
57
        return $newResource;
58
    }
59
60
    public function getResourceFormType(): string
61
    {
62
        return PersonalFileType::class;
63
    }
64
}
65