Completed
Push — master ( e727de...c49bae )
by
unknown
08:12 queued 02:25
created

ImageProvider::buildEditForm()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 6
ccs 4
cts 4
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
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
9
{
10
    /**
11
     * @param FormMapper $formMapper
12
     */
13 1
    public function buildProviderCreateForm(FormMapper $formMapper)
14
    {
15 1
        $this->addRequiredImageField($formMapper, 'binaryContent', 'image');
16 1
    }
17
18
    /**
19
     * @param FormMapper $formMapper
20
     */
21 1
    public function buildProviderEditFormBefore(FormMapper $formMapper)
22
    {
23 1
        $this->addImageField($formMapper, 'binaryContent', 'image');
24 1
    }
25
26
    /**
27
     * @param FormMapper $formMapper
28
     */
29 1
    public function buildEditForm(FormMapper $formMapper)
30
    {
31 1
        parent::buildEditForm($formMapper);
32
33 1
        $formMapper->remove('imageContent');
34 1
    }
35
36
    /**
37
     * @param AbstractMedia $media
38
     * @param bool $providerReferenceUpdated
39
     */
40 1
    public function update(AbstractMedia $media, $providerReferenceUpdated)
41
    {
42 1
        if (!is_null($media->getBinaryContent())) {
43 1
            $media->setImage(null);
44 1
            $filename = $this->handleFileUpload($media, true);
45 1
            if (!empty($filename)) {
46 1
                $media->setProviderReference($filename);
47 1
            }
48 1
        }
49
50 1
        parent::update($media, $providerReferenceUpdated);
51 1
    }
52
53
    /**
54
     * @return string
55
     */
56 5
    public function getIcon()
57
    {
58 5
        return 'fa fa-photo';
59
    }
60
61
    /**
62
     * @return string
63
     */
64
    public function getTitle()
65
    {
66
        return 'Image';
67
    }
68
69
    /**
70
     * @return string
71
     */
72 5
    public function getName()
73
    {
74 5
        return 'image';
75
    }
76
77
    /**
78
     * @return string
79
     */
80 1
    public function getType()
81
    {
82 1
        return AbstractProvider::TYPE_IMAGE;
83
    }
84
85
    /**
86
     * @return string
87
     */
88
    public function getEmbedTemplate()
89
    {
90
        return 'MediaMonksSonataMediaBundle:Provider:image_embed.html.twig';
91
    }
92
93
    /**
94
     * @return bool
95
     */
96 1
    public function supportsDownload()
97
    {
98 1
        return true;
99
    }
100
101
    /**
102
     * @return bool
103
     */
104 1
    public function supportsEmbed()
105
    {
106 1
        return false;
107
    }
108
109
    /**
110
     * @return bool
111
     */
112 1
    public function supportsImage()
113
    {
114 1
        return true;
115
    }
116
}
117