Passed
Push — master ( 01829a...af608e )
by Dev
03:30
created

PageHasMedia::configureListFields()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 5
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace PiedWeb\CMSBundle\Admin;
4
5
use Sonata\AdminBundle\Admin\AbstractAdmin;
6
use Sonata\AdminBundle\Datagrid\ListMapper;
7
use Sonata\AdminBundle\Form\FormMapper;
8
use Sonata\AdminBundle\Form\Type\ModelListType;
9
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
10
11
class PageHasMedia extends AbstractAdmin
12
{
13
    private $liipImage;
14
15
    public function setLiipImage($liipImage)
16
    {
17
        $this->liipImage = $liipImage;
18
    }
19
20
    protected function configureFormFields(FormMapper $formMapper)
21
    {
22
        $media = $this->getSubject() ? $this->getSubject()->getMedia() : null;
23
24
        $help = null;
25
        if ($media && $media->getMedia() && false !== strpos($media->getMimeType(), 'image/')) {
26
            $fullPath = '/'.$media->getRelativeDir().'/'.$media->getMedia();
27
            $thumb = $this->liipImage->getBrowserPath($fullPath, 'small_thumb');
0 ignored issues
show
Unused Code introduced by
The assignment to $thumb is dead and can be removed.
Loading history...
28
            $help = '<a href="'.$this->liipImage->getBrowserPath($fullPath, 'default').'">';
29
            $help .= '<img src="'.$this->liipImage->getBrowserPath($fullPath, 'small_thumb').'">';
30
            $help .= '</a>';
31
        }
32
33
        $formMapper
34
            ->add('media', ModelListType::class, [
35
                'required' => false,
36
                'btn_delete' => false,
37
                'btn_edit' => false,
38
                'btn_add' => (!$media) ? ' ' : false,
39
                'btn_list' => (!$media) ? ' ' : false,
40
                'sonata_help' => $help,
41
            ])
42
            ->add('position', HiddenType::class)
43
        ;
44
    }
45
46
    protected function configureListFields(ListMapper $listMapper)
47
    {
48
        $listMapper
49
            ->add('media')
50
            ->add('page')
51
        ;
52
    }
53
}
54