Completed
Push — master ( eb716b...911538 )
by Julito
15:40
created

PersonalFileRepository   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 15
dl 0
loc 45
rs 10
c 2
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A saveUpload() 0 6 1
A getResources() 0 3 1
A saveResource() 0 11 1
A getResourceSettings() 0 12 1
A getTitleColumn() 0 3 1
1
<?php
2
/* For licensing terms, see /license.txt */
3
4
namespace Chamilo\CoreBundle\Repository;
5
6
use APY\DataGridBundle\Grid\Column\Column;
7
use APY\DataGridBundle\Grid\Grid;
8
use Chamilo\CoreBundle\Component\Utils\ResourceSettings;
9
use Chamilo\CoreBundle\Entity\Course;
10
use Chamilo\CoreBundle\Entity\PersonalFile;
11
use Chamilo\CoreBundle\Entity\Resource\ResourceNode;
12
use Chamilo\CoreBundle\Entity\Session;
13
use Chamilo\CourseBundle\Entity\CGroupInfo;
14
use Chamilo\UserBundle\Entity\User;
15
use Symfony\Component\Form\FormInterface;
16
use Symfony\Component\HttpFoundation\File\UploadedFile;
17
18
final class PersonalFileRepository extends ResourceRepository implements ResourceRepositoryInterface
19
{
20
    public function getResources(User $user, ResourceNode $parentNode, Course $course = null, Session $session = null, CGroupInfo $group = null)
21
    {
22
        return $this->getResourcesByCreator($user, $parentNode);
23
    }
24
25
    public function getResourceSettings(): ResourceSettings
26
    {
27
        $settings = parent::getResourceSettings();
28
29
        $settings
30
            ->setAllowNodeCreation(true)
31
            //->setAllowResourceCreation(true)
32
            ->setAllowResourceUpload(true)
33
            ->setAllowResourceEdit(false)
34
        ;
35
36
        return $settings;
37
    }
38
39
    public function saveUpload(UploadedFile $file)
40
    {
41
        $resource = new PersonalFile();
42
        $resource->setName($file->getClientOriginalName());
43
44
        return $resource;
45
    }
46
47
    public function saveResource(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 getTitleColumn(Grid $grid): Column
61
    {
62
        return $grid->getColumn('name');
63
    }
64
}
65