Completed
Push — master ( fd8346...c1962d )
by
unknown
08:45 queued 06:48
created

ImageProvider::buildProviderCreateForm()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
3
namespace MediaMonks\SonataMediaBundle\Provider;
4
5
use MediaMonks\SonataMediaBundle\Model\AbstractMedia;
6
use Sonata\AdminBundle\Form\FormMapper;
7
8
class ImageProvider extends AbstractProvider implements ProviderInterface, DownloadableProviderInterface
9
{
10
    /**
11
     * @param FormMapper $formMapper
12
     */
13 3
    public function buildProviderCreateForm(FormMapper $formMapper)
14
    {
15 3
        $this->addRequiredImageField($formMapper, 'binaryContent', 'image');
16 3
    }
17
18
    /**
19
     * @param FormMapper $formMapper
20
     */
21 2
    public function buildProviderEditFormBefore(FormMapper $formMapper)
22
    {
23 2
        $this->addImageField($formMapper, 'binaryContent', 'image');
24 2
    }
25
26
    /**
27
     * @param FormMapper $formMapper
28
     */
29 2
    public function buildEditForm(FormMapper $formMapper)
30
    {
31 2
        parent::buildEditForm($formMapper);
32
33 2
        $formMapper->remove('imageContent');
34 2
    }
35
36
    /**
37
     * @param AbstractMedia $media
38
     * @param bool $providerReferenceUpdated
39
     */
40 2
    public function update(AbstractMedia $media, $providerReferenceUpdated)
41
    {
42 2
        if (!is_null($media->getBinaryContent())) {
43 2
            $media->setImage(null);
44 2
            $filename = $this->handleFileUpload($media, true);
45 2
            if (!empty($filename)) {
46 2
                $media->setProviderReference($filename);
47
            }
48
        }
49
50 2
        parent::update($media, $providerReferenceUpdated);
51 2
    }
52
53
    /**
54
     * @return string
55
     */
56 12
    public function getIcon()
57
    {
58 12
        return 'fa fa-photo';
59
    }
60
61
    /**
62
     * @return string
63
     */
64 13
    public function getName()
65
    {
66 13
        return 'image';
67
    }
68
69
    /**
70
     * @return string
71
     */
72 3
    public function getType()
73
    {
74 3
        return AbstractProvider::TYPE_IMAGE;
75
    }
76
}
77