Completed
Push — master ( d698c5...d714a0 )
by
unknown
09:33
created

CRUDController::imageAction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 8
Ratio 100 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
dl 8
loc 8
ccs 4
cts 4
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
nc 1
nop 4
crap 1
1
<?php
2
3
namespace MediaMonks\SonataMediaBundle\Controller;
4
5
use MediaMonks\SonataMediaBundle\ParameterBag\DownloadParameterBag;
6
use MediaMonks\SonataMediaBundle\ParameterBag\ImageParameterBag;
7
use Sonata\AdminBundle\Controller\CRUDController as BaseCRUDController;
8
use Symfony\Component\HttpFoundation\RedirectResponse;
9
use Symfony\Component\HttpFoundation\Request;
10
use Symfony\Component\HttpFoundation\StreamedResponse;
11
12
class CRUDController extends BaseCRUDController
13
{
14
    /**
15
     * @return \Symfony\Component\HttpFoundation\Response
16
     */
17 12
    public function createAction()
18
    {
19 12
        if (!$this->getRequest()->get('provider') && $this->getRequest()->isMethod('get')) {
20 1
            return $this->render(
21 1
                '@MediaMonksSonataMedia/CRUD/select_provider.html.twig',
22
                [
23 1
                    'providers' => $this->get('mediamonks.sonata_media.provider.pool')->getProviders(),
24 1
                    'base_template' => $this->getBaseTemplate(),
25 1
                    'admin' => $this->admin,
26 1
                    'action' => 'create',
27
                ]
28
            );
29
        }
30
31 11
        return parent::createAction();
32
    }
33
34
    /**
35
     * @param Request $request
36
     * @param $id
37
     * @return StreamedResponse
38
     */
39 1 View Code Duplication
    public function downloadAction(Request $request, $id)
40
    {
41 1
        $object = $this->admin->getObject($id);
42
43 1
        $this->admin->checkAccess('show', $object);
44
45 1
        return $this->get('mediamonks.sonata_media.utility.download')->getStreamedResponse($object, new DownloadParameterBag($request->query->all()));
46
    }
47
48
    /**
49
     * @param Request $request
50
     * @param int $id
51
     * @return RedirectResponse
52
     */
53 4 View Code Duplication
    public function imageAction(Request $request, $id, $width, $height)
54
    {
55 4
        $object = $this->admin->getObject($id);
56
57 4
        $this->admin->checkAccess('show', $object);
58
59 4
        return $this->get('mediamonks.sonata_media.utility.image')->getRedirectResponse($object, new ImageParameterBag($width, $height, $request->query->all()));
60
    }
61
}
62