Completed
Push — master ( 08acda...fe47f9 )
by Paweł
11s
created

AuthorAdmin::configureDatagridFilters()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace App\Admin;
4
5
use Sonata\AdminBundle\Admin\AbstractAdmin;
6
use Sonata\AdminBundle\Datagrid\ListMapper;
7
use Sonata\AdminBundle\Datagrid\DatagridMapper;
8
use Sonata\AdminBundle\Form\FormMapper;
9
use Symfony\Component\Form\Extension\Core\Type\FileType;
10
use Symfony\Component\Form\Extension\Core\Type\TextType;
11
12
final class AuthorAdmin extends AbstractAdmin
13
{
14
    protected function configureFormFields(FormMapper $formMapper)
15
    {
16
        $container = $this->getConfigurationPool()->getContainer();
17
        $formMapper->add('name', TextType::class);
18
        $formMapper->add('bio', TextType::class);
19
        $formMapper->add('courses');
20
        $fileFieldOptions = ['required' => false];
21
        if (null !== $this->getSubject()->getPicture()) {
22
            $imagePath = $container->get('vich_uploader.templating.helper.uploader_helper')->asset($this->getSubject(), 'pictureFile');
23
24
            $fileFieldOptions['help'] = '<img src="'.$imagePath.'" class="admin-preview" />';
25
        }
26
        $formMapper->add('pictureFile', FileType::class, $fileFieldOptions);
27
    }
28
29
    protected function configureDatagridFilters(DatagridMapper $datagridMapper)
30
    {
31
        $datagridMapper->add('name');
32
    }
33
34
    protected function configureListFields(ListMapper $listMapper)
35
    {
36
        $listMapper->addIdentifier('name');
37
        $listMapper->add('bio');
38
        $listMapper->add('picture');
39
        $listMapper->add('courses');
40
        $listMapper->add('created');
41
        $listMapper->add('updated');
42
    }
43
}
44