Passed
Branch request-processor (31ada2)
by Iakov
02:59
created

AbstractBuildFormStep::setAccessManager()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Kami\ApiCoreBundle\RequestProcessor\Step;
4
5
6
use Doctrine\Common\Annotations\Reader;
7
use Doctrine\Common\Util\Inflector;
8
use Kami\ApiCoreBundle\RequestProcessor\Step\AbstractStep;
9
use Kami\ApiCoreBundle\Security\AccessManager;
10
use Symfony\Component\Form\Extension\Core\Type\FormType;
11
use Symfony\Component\Form\FormBuilderInterface;
12
use Symfony\Component\Form\FormFactory;
13
14
abstract class AbstractBuildFormStep extends AbstractStep
15
{
16
    /**
17
     * @var FormFactory
18
     */
19
    protected $formFactory;
20
21
    /**
22
     * @var AccessManager
23
     */
24
    protected $accessManager;
25
26
    /**
27
     * @var Reader
28
     */
29
    protected $reader;
30
31
    /**
32
     * @param FormFactory $formFactory
33
     */
34
    public function setFormFactory(FormFactory $formFactory)
35
    {
36
        $this->formFactory = $formFactory;
37
    }
38
39
    /**
40
     * @param AccessManager $accessManager
41
     */
42
    public function setAccessManager($accessManager)
43
    {
44
        $this->accessManager = $accessManager;
45
    }
46
47
    /**
48
     * @param Reader $reader
49
     */
50
    public function setReader(Reader $reader)
51
    {
52
        $this->reader = $reader;
53
    }
54
55
    /**
56
     * @return FormBuilderInterface
57
     */
58
    protected function getBaseFormBuilder()
59
    {
60
        $builder = $this->formFactory->createNamedBuilder(
61
            Inflector::tableize($this->getFromResponse('reflection')->getShortName()),
62
            FormType::class,
63
            $this->getFromResponse('entity'),
64
            ['csrf_protection' => false]
65
        );
66
67
        if ('PUT' === $this->request->getMethod()) {
68
            $builder->setMethod('PUT');
69
        }
70
71
        return $builder;
72
    }
73
74
    public function getName()
75
    {
76
        return 'generic_build_form_step';
77
    }
78
}