Test Failed
Push — develop ( c35c51...0616cb )
by Stone
04:36 queued 10s
created

SetPrimaryImageController   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 6
dl 0
loc 25
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A setPrimaryController() 0 6 1
1
<?php
2
3
namespace App\Controller\Image;
4
5
use App\Entity\Image;
6
use App\Entity\Trick;
7
use App\Event\Image\ImageSetPrimaryEvent;
8
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
9
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
10
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
11
use Symfony\Component\Routing\Annotation\Route;
12
13
/**
14
 * Class SetPrimaryImageController
15
 * @package App\Controller\Image
16
 *
17
 * Require the user to be connected for everything here
18
 * @IsGranted("ROLE_USER")
19
 */
20
class SetPrimaryImageController extends AbstractController
21
{
22
23
    /**
24
     * @var EventDispatcherInterface
25
     */
26
    private $dispatcher;
27
28
    public function __construct(EventDispatcherInterface $dispatcher)
29
    {
30
        $this->dispatcher = $dispatcher;
31
    }
32
33
    /**
34
     * @Route("/image/set/{trick}-{image}", name="image.setprimary")
35
     * @param Trick $trick
36
     * @param Image $image
37
     * @return \Symfony\Component\HttpFoundation\RedirectResponse
38
     */
39
    public function setPrimaryController(Trick $trick, Image $image)
40
    {
41
        $event = new ImageSetPrimaryEvent($image, $trick);
42
        $this->dispatcher->dispatch(ImageSetPrimaryEvent::NAME, $event);
43
44
        return $this->redirectToRoute('trick.edit', ['id' => $trick->getId()]);
45
    }
46
47
}