Completed
Push — master ( 339b0b...583069 )
by Julito
14:39
created

PersonalFileRepository   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 13
c 2
b 0
f 0
dl 0
loc 39
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A saveUpload() 0 6 1
A saveResource() 0 11 1
A getResourceSettings() 0 11 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\PersonalFile;
10
use Symfony\Component\Form\FormInterface;
11
use Symfony\Component\HttpFoundation\File\UploadedFile;
12
13
final class PersonalFileRepository extends ResourceRepository implements ResourceRepositoryInterface
14
{
15
    public function getResourceSettings(): ResourceSettings
16
    {
17
        $settings = parent::getResourceSettings();
18
19
        $settings
20
            ->setAllowNodeFolderCreation(true)
21
            //->setAllowResourceContentCreation(true)
22
            ->setAllowResourceUploadCreation(true)
23
        ;
24
25
        return $settings;
26
    }
27
28
    public function saveUpload(UploadedFile $file)
29
    {
30
        $resource = new PersonalFile();
31
        $resource->setName($file->getClientOriginalName());
32
33
        return $resource;
34
    }
35
36
    public function saveResource(FormInterface $form, $course, $session, $fileType)
37
    {
38
        $newResource = $form->getData();
39
        $newResource
40
            //->setCourse($course)
41
            //->setSession($session)
42
            //->setFiletype($fileType)
43
            //->setTitle($title) // already added in $form->getData()
44
        ;
45
46
        return $newResource;
47
    }
48
49
    public function getTitleColumn(Grid $grid): Column
50
    {
51
        return $grid->getColumn('name');
52
    }
53
}
54