Passed
Push — master ( 70e39a...707547 )
by
unknown
04:36
created
src/Listener/ProtectedReferencesDoctrineSubscriber.php 1 patch
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -8,28 +8,28 @@
 block discarded – undo
8 8
 use OneGuard\Bundle\DynamicConfigurationBundle\ProtectedReferencesChecker;
9 9
 
10 10
 class ProtectedReferencesDoctrineSubscriber implements EventSubscriber {
11
-	/**
12
-	 * @var ProtectedReferencesChecker
13
-	 */
14
-	private $checker;
11
+    /**
12
+     * @var ProtectedReferencesChecker
13
+     */
14
+    private $checker;
15 15
 
16
-	public function __construct(ProtectedReferencesChecker $checker) {
17
-		$this->checker = $checker;
18
-	}
16
+    public function __construct(ProtectedReferencesChecker $checker) {
17
+        $this->checker = $checker;
18
+    }
19 19
 
20
-	public function getSubscribedEvents() {
21
-		return [
22
-			'preRemove'
23
-		];
24
-	}
20
+    public function getSubscribedEvents() {
21
+        return [
22
+            'preRemove'
23
+        ];
24
+    }
25 25
 
26
-	/**
27
-	 * @param LifecycleEventArgs $args
28
-	 * @throws ProtectedReferenceException
29
-	 * @throws \Doctrine\ORM\NoResultException
30
-	 * @throws \Doctrine\ORM\NonUniqueResultException
31
-	 */
32
-	public function preRemove(LifecycleEventArgs $args) {
33
-		$this->checker->checkReferenceForProtection($args->getObject());
34
-	}
26
+    /**
27
+     * @param LifecycleEventArgs $args
28
+     * @throws ProtectedReferenceException
29
+     * @throws \Doctrine\ORM\NoResultException
30
+     * @throws \Doctrine\ORM\NonUniqueResultException
31
+     */
32
+    public function preRemove(LifecycleEventArgs $args) {
33
+        $this->checker->checkReferenceForProtection($args->getObject());
34
+    }
35 35
 }
Please login to merge, or discard this patch.
src/Form/ConfigurationValuesType.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -7,11 +7,11 @@
 block discarded – undo
7 7
 use Symfony\Component\Form\FormBuilderInterface;
8 8
 
9 9
 class ConfigurationValuesType extends AbstractType {
10
-	public function buildForm(FormBuilderInterface $builder, array $options) {
11
-		$builder
12
-			->add('configurationValues', CollectionType::class, [
13
-				'entry_type' => ConfigurationValueType::class,
14
-				'attr' => ['class' => 'panel panel-default panel-body'],
15
-			]);
16
-	}
10
+    public function buildForm(FormBuilderInterface $builder, array $options) {
11
+        $builder
12
+            ->add('configurationValues', CollectionType::class, [
13
+                'entry_type' => ConfigurationValueType::class,
14
+                'attr' => ['class' => 'panel panel-default panel-body'],
15
+            ]);
16
+    }
17 17
 }
Please login to merge, or discard this patch.
src/Form/EntityConfigurationValueType.php 1 patch
Indentation   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -8,26 +8,26 @@
 block discarded – undo
8 8
 use Symfony\Component\Form\FormBuilderInterface;
9 9
 
10 10
 class EntityConfigurationValueType extends EntityType {
11
-	/**
12
-	 * @var RegistryInterface
13
-	 */
14
-	private $doctrine;
11
+    /**
12
+     * @var RegistryInterface
13
+     */
14
+    private $doctrine;
15 15
 
16
-	public function __construct(RegistryInterface $doctrine) {
17
-		parent::__construct($doctrine);
18
-		$this->doctrine = $doctrine;
19
-	}
16
+    public function __construct(RegistryInterface $doctrine) {
17
+        parent::__construct($doctrine);
18
+        $this->doctrine = $doctrine;
19
+    }
20 20
 
21
-	public function buildForm(FormBuilderInterface $builder, array $options) {
22
-		parent::buildForm($builder, $options);
23
-		$builder->addModelTransformer(new CallbackTransformer(
24
-			function ($id) use ($options) {
25
-				return $id === null ? null : $this->doctrine->getRepository($options['class'])->find($id);
26
-			},
27
-			function ($entity) use ($options) {
28
-				return $entity === null ?
29
-					null : $this->doctrine->getEntityManagerForClass($options['class'])->getUnitOfWork()->getSingleIdentifierValue($entity);
30
-			}
31
-		));
32
-	}
21
+    public function buildForm(FormBuilderInterface $builder, array $options) {
22
+        parent::buildForm($builder, $options);
23
+        $builder->addModelTransformer(new CallbackTransformer(
24
+            function ($id) use ($options) {
25
+                return $id === null ? null : $this->doctrine->getRepository($options['class'])->find($id);
26
+            },
27
+            function ($entity) use ($options) {
28
+                return $entity === null ?
29
+                    null : $this->doctrine->getEntityManagerForClass($options['class'])->getUnitOfWork()->getSingleIdentifierValue($entity);
30
+            }
31
+        ));
32
+    }
33 33
 }
Please login to merge, or discard this patch.
src/Form/ConfigurationValueType.php 1 patch
Indentation   +47 added lines, -47 removed lines patch added patch discarded remove patch
@@ -13,55 +13,55 @@
 block discarded – undo
13 13
 use Symfony\Component\OptionsResolver\OptionsResolver;
14 14
 
15 15
 class ConfigurationValueType extends AbstractType {
16
-	/**
17
-	 * @var DefinitionRegistry
18
-	 */
19
-	private $registry;
16
+    /**
17
+     * @var DefinitionRegistry
18
+     */
19
+    private $registry;
20 20
 
21
-	private $translationDomain;
22
-	private $translationPrefix;
21
+    private $translationDomain;
22
+    private $translationPrefix;
23 23
 
24
-	public function __construct(
25
-		DefinitionRegistry $registry,
26
-		string $translationDomain,
27
-		string $translationPrefix
28
-	) {
29
-		$this->registry = $registry;
30
-		$this->translationDomain = $translationDomain;
31
-		$this->translationPrefix = $translationPrefix;
32
-	}
24
+    public function __construct(
25
+        DefinitionRegistry $registry,
26
+        string $translationDomain,
27
+        string $translationPrefix
28
+    ) {
29
+        $this->registry = $registry;
30
+        $this->translationDomain = $translationDomain;
31
+        $this->translationPrefix = $translationPrefix;
32
+    }
33 33
 
34
-	public function buildForm(FormBuilderInterface $builder, array $options) {
35
-		$builder
36
-			->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
37
-				/* @var $configurationValue ConfigurationValue */
38
-				$configurationValue = $event->getData();
39
-				$definition = $this->registry->get($configurationValue->getKey());
40
-				switch (get_class($definition)) {
41
-					case EntityDefinition::class:
42
-						/* @var $definition EntityDefinition */
43
-						$form = $event->getForm();
44
-						$form->add('value', EntityConfigurationValueType::class, [
45
-							'class' => $definition->getClass(),
46
-							'choice_label' => $definition->getChoiceLabel(),
47
-							'label' => $this->translationPrefix . $configurationValue->getKey(),
48
-							'translation_domain' => $this->translationDomain,
49
-							'placeholder' => 'Please choose',
50
-							'empty_data' => null,
51
-							'required' => false
52
-						]);
53
-						break;
54
-					default: // assume StringDefinition
55
-						$event->getForm()->add('value', TextType::class, [
56
-							'label' => $this->translationPrefix . $configurationValue->getKey(),
57
-							'translation_domain' => $this->translationDomain,
58
-							'required' => false
59
-						]);
60
-				}
61
-			});
62
-	}
34
+    public function buildForm(FormBuilderInterface $builder, array $options) {
35
+        $builder
36
+            ->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
37
+                /* @var $configurationValue ConfigurationValue */
38
+                $configurationValue = $event->getData();
39
+                $definition = $this->registry->get($configurationValue->getKey());
40
+                switch (get_class($definition)) {
41
+                    case EntityDefinition::class:
42
+                        /* @var $definition EntityDefinition */
43
+                        $form = $event->getForm();
44
+                        $form->add('value', EntityConfigurationValueType::class, [
45
+                            'class' => $definition->getClass(),
46
+                            'choice_label' => $definition->getChoiceLabel(),
47
+                            'label' => $this->translationPrefix . $configurationValue->getKey(),
48
+                            'translation_domain' => $this->translationDomain,
49
+                            'placeholder' => 'Please choose',
50
+                            'empty_data' => null,
51
+                            'required' => false
52
+                        ]);
53
+                        break;
54
+                    default: // assume StringDefinition
55
+                        $event->getForm()->add('value', TextType::class, [
56
+                            'label' => $this->translationPrefix . $configurationValue->getKey(),
57
+                            'translation_domain' => $this->translationDomain,
58
+                            'required' => false
59
+                        ]);
60
+                }
61
+            });
62
+    }
63 63
 
64
-	public function configureOptions(OptionsResolver $resolver) {
65
-		$resolver->setDefault('data_class', ConfigurationValue::class);
66
-	}
64
+    public function configureOptions(OptionsResolver $resolver) {
65
+        $resolver->setDefault('data_class', ConfigurationValue::class);
66
+    }
67 67
 }
Please login to merge, or discard this patch.
src/ConfigurationResolverFactory.php 1 patch
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -5,25 +5,25 @@
 block discarded – undo
5 5
 use Symfony\Bridge\Doctrine\RegistryInterface;
6 6
 
7 7
 class ConfigurationResolverFactory {
8
-	/**
9
-	 * @var RegistryInterface
10
-	 */
11
-	private $doctrine;
8
+    /**
9
+     * @var RegistryInterface
10
+     */
11
+    private $doctrine;
12 12
 
13
-	/**
14
-	 * @var DefinitionRegistry
15
-	 */
16
-	private $registry;
13
+    /**
14
+     * @var DefinitionRegistry
15
+     */
16
+    private $registry;
17 17
 
18
-	public function __construct(RegistryInterface $doctrine, DefinitionRegistry $registry) {
19
-		$this->doctrine = $doctrine;
20
-		$this->registry = $registry;
21
-	}
18
+    public function __construct(RegistryInterface $doctrine, DefinitionRegistry $registry) {
19
+        $this->doctrine = $doctrine;
20
+        $this->registry = $registry;
21
+    }
22 22
 
23
-	public function create(string $key) {
24
-		return new ConfigurationResolver(
25
-			$this->doctrine,
26
-			$this->registry->get($key)
27
-		);
28
-	}
23
+    public function create(string $key) {
24
+        return new ConfigurationResolver(
25
+            $this->doctrine,
26
+            $this->registry->get($key)
27
+        );
28
+    }
29 29
 }
Please login to merge, or discard this patch.
src/Exception/ProtectedReferenceException.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -5,15 +5,15 @@
 block discarded – undo
5 5
 use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
6 6
 
7 7
 class ProtectedReferenceException extends \Exception implements HttpExceptionInterface {
8
-	public function __construct($message = "", $code = 0, \Throwable $previous = null) {
9
-		parent::__construct($message, $code, $previous);
10
-	}
8
+    public function __construct($message = "", $code = 0, \Throwable $previous = null) {
9
+        parent::__construct($message, $code, $previous);
10
+    }
11 11
 
12
-	public function getStatusCode() {
13
-		return 400;
14
-	}
12
+    public function getStatusCode() {
13
+        return 400;
14
+    }
15 15
 
16
-	public function getHeaders() {
17
-		return [];
18
-	}
16
+    public function getHeaders() {
17
+        return [];
18
+    }
19 19
 }
Please login to merge, or discard this patch.
src/ConfigurationResolver.php 1 patch
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -6,42 +6,42 @@
 block discarded – undo
6 6
 use Symfony\Bridge\Doctrine\RegistryInterface;
7 7
 
8 8
 class ConfigurationResolver {
9
-	/**
10
-	 * @var RegistryInterface
11
-	 */
12
-	private $doctrine;
13
-
14
-	/**
15
-	 * @var Definition
16
-	 */
17
-	private $definition;
18
-
19
-	public function __construct(RegistryInterface $doctrine, Definition $definition) {
20
-		$this->doctrine = $doctrine;
21
-		$this->definition = $definition;
22
-	}
23
-
24
-	public function getDefinition() : Definition {
25
-		return $this->definition;
26
-	}
27
-
28
-	/**
29
-	 * @return null|object
30
-	 * @throws \UnexpectedValueException
31
-	 */
32
-	public function resolve() {
33
-		$repo = $this->doctrine->getRepository(ConfigurationValue::class);
34
-		$configurationValue = $repo->find($this->definition->getKey());
35
-
36
-		switch (get_class($this->definition)) {
37
-			case StringDefinition::class:
38
-				return $configurationValue->getValue();
39
-			case EntityDefinition::class:
40
-				/* @var $entityDefinition EntityDefinition */
41
-				$entityDefinition = $this->definition;
42
-				return $this->doctrine->getRepository($entityDefinition->getClass())->find($configurationValue->getValue());
43
-			default:
44
-				throw new \UnexpectedValueException();
45
-		}
46
-	}
9
+    /**
10
+     * @var RegistryInterface
11
+     */
12
+    private $doctrine;
13
+
14
+    /**
15
+     * @var Definition
16
+     */
17
+    private $definition;
18
+
19
+    public function __construct(RegistryInterface $doctrine, Definition $definition) {
20
+        $this->doctrine = $doctrine;
21
+        $this->definition = $definition;
22
+    }
23
+
24
+    public function getDefinition() : Definition {
25
+        return $this->definition;
26
+    }
27
+
28
+    /**
29
+     * @return null|object
30
+     * @throws \UnexpectedValueException
31
+     */
32
+    public function resolve() {
33
+        $repo = $this->doctrine->getRepository(ConfigurationValue::class);
34
+        $configurationValue = $repo->find($this->definition->getKey());
35
+
36
+        switch (get_class($this->definition)) {
37
+            case StringDefinition::class:
38
+                return $configurationValue->getValue();
39
+            case EntityDefinition::class:
40
+                /* @var $entityDefinition EntityDefinition */
41
+                $entityDefinition = $this->definition;
42
+                return $this->doctrine->getRepository($entityDefinition->getClass())->find($configurationValue->getValue());
43
+            default:
44
+                throw new \UnexpectedValueException();
45
+        }
46
+    }
47 47
 }
Please login to merge, or discard this patch.
src/EntityDefinition.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -3,32 +3,32 @@
 block discarded – undo
3 3
 namespace OneGuard\Bundle\DynamicConfigurationBundle;
4 4
 
5 5
 class EntityDefinition extends Definition {
6
-	private $class;
7
-	private $choiceLabel;
6
+    private $class;
7
+    private $choiceLabel;
8 8
 
9
-	/**
10
-	 * EntityDefinition constructor.
11
-	 * @param $key
12
-	 * @param $class
13
-	 * @param $choiceLabel
14
-	 */
15
-	public function __construct($key, $class, $choiceLabel) {
16
-		parent::__construct($key);
17
-		$this->class = $class;
18
-		$this->choiceLabel = $choiceLabel;
19
-	}
9
+    /**
10
+     * EntityDefinition constructor.
11
+     * @param $key
12
+     * @param $class
13
+     * @param $choiceLabel
14
+     */
15
+    public function __construct($key, $class, $choiceLabel) {
16
+        parent::__construct($key);
17
+        $this->class = $class;
18
+        $this->choiceLabel = $choiceLabel;
19
+    }
20 20
 
21
-	/**
22
-	 * @return mixed
23
-	 */
24
-	public function getClass() {
25
-		return $this->class;
26
-	}
21
+    /**
22
+     * @return mixed
23
+     */
24
+    public function getClass() {
25
+        return $this->class;
26
+    }
27 27
 
28
-	/**
29
-	 * @return mixed
30
-	 */
31
-	public function getChoiceLabel() {
32
-		return $this->choiceLabel;
33
-	}
28
+    /**
29
+     * @return mixed
30
+     */
31
+    public function getChoiceLabel() {
32
+        return $this->choiceLabel;
33
+    }
34 34
 }
Please login to merge, or discard this patch.
src/ProtectedReferencesChecker.php 1 patch
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -7,90 +7,90 @@
 block discarded – undo
7 7
 use Symfony\Bridge\Doctrine\RegistryInterface;
8 8
 
9 9
 class ProtectedReferencesChecker {
10
-	/**
11
-	 * @var RegistryInterface
12
-	 */
13
-	private $doctrine;
14
-	/**
15
-	 * @var DefinitionRegistry
16
-	 */
17
-	private $registry;
10
+    /**
11
+     * @var RegistryInterface
12
+     */
13
+    private $doctrine;
14
+    /**
15
+     * @var DefinitionRegistry
16
+     */
17
+    private $registry;
18 18
 
19
-	public function __construct(RegistryInterface $doctrine, DefinitionRegistry $registry) {
20
-		$this->doctrine = $doctrine;
21
-		$this->registry = $registry;
22
-	}
19
+    public function __construct(RegistryInterface $doctrine, DefinitionRegistry $registry) {
20
+        $this->doctrine = $doctrine;
21
+        $this->registry = $registry;
22
+    }
23 23
 
24
-	/**
25
-	 * @param string $class
26
-	 * @param array|null $ids
27
-	 * @return array
28
-	 */
29
-	public function findProtectedIdsByClass(string $class, array $ids = null) : array {
30
-		$keys = [];
31
-		foreach ($this->registry->keys() as $key) {
32
-			$definition = $this->registry->get($key);
33
-			if ($definition instanceof EntityDefinition and is_a($class, $definition->getClass(), true)) {
34
-				$keys[] = $definition->getKey();
35
-			}
36
-		}
24
+    /**
25
+     * @param string $class
26
+     * @param array|null $ids
27
+     * @return array
28
+     */
29
+    public function findProtectedIdsByClass(string $class, array $ids = null) : array {
30
+        $keys = [];
31
+        foreach ($this->registry->keys() as $key) {
32
+            $definition = $this->registry->get($key);
33
+            if ($definition instanceof EntityDefinition and is_a($class, $definition->getClass(), true)) {
34
+                $keys[] = $definition->getKey();
35
+            }
36
+        }
37 37
 
38
-		if (empty($keys)) {
39
-			return [];
40
-		}
38
+        if (empty($keys)) {
39
+            return [];
40
+        }
41 41
 
42
-		$qb = $this->doctrine->getEntityManagerForClass(ConfigurationValue::class)->createQueryBuilder();
43
-		$qb
44
-			->select('DISTINCT (v.value)')
45
-			->from(ConfigurationValue::class, 'v')
46
-			->where($qb->expr()->in('v.key', ':keys'))
47
-			->setParameter('keys', $keys);
42
+        $qb = $this->doctrine->getEntityManagerForClass(ConfigurationValue::class)->createQueryBuilder();
43
+        $qb
44
+            ->select('DISTINCT (v.value)')
45
+            ->from(ConfigurationValue::class, 'v')
46
+            ->where($qb->expr()->in('v.key', ':keys'))
47
+            ->setParameter('keys', $keys);
48 48
 
49
-		if ($ids !== null) {
50
-			$qb
51
-				->andWhere($qb->expr()->in('v.value', ':ids'))
52
-				->setParameter('ids', $ids);
53
-		}
49
+        if ($ids !== null) {
50
+            $qb
51
+                ->andWhere($qb->expr()->in('v.value', ':ids'))
52
+                ->setParameter('ids', $ids);
53
+        }
54 54
 
55
-		$protectedIds = $qb->getQuery()->getScalarResult();
56
-		return empty($protectedIds) ? [] : array_merge(...$protectedIds);
57
-	}
55
+        $protectedIds = $qb->getQuery()->getScalarResult();
56
+        return empty($protectedIds) ? [] : array_merge(...$protectedIds);
57
+    }
58 58
 
59
-	/**
60
-	 * @param $object
61
-	 * @throws ProtectedReferenceException
62
-	 * @throws \Doctrine\ORM\NoResultException
63
-	 * @throws \Doctrine\ORM\NonUniqueResultException
64
-	 */
65
-	public function checkReferenceForProtection($object) {
66
-		$id = $this->doctrine->getEntityManagerForClass(get_class($object))->getUnitOfWork()->getSingleIdentifierValue($object);
59
+    /**
60
+     * @param $object
61
+     * @throws ProtectedReferenceException
62
+     * @throws \Doctrine\ORM\NoResultException
63
+     * @throws \Doctrine\ORM\NonUniqueResultException
64
+     */
65
+    public function checkReferenceForProtection($object) {
66
+        $id = $this->doctrine->getEntityManagerForClass(get_class($object))->getUnitOfWork()->getSingleIdentifierValue($object);
67 67
 
68
-		$keys = [];
69
-		foreach ($this->registry->keys() as $key) {
70
-			$definition = $this->registry->get($key);
71
-			if ($definition instanceof EntityDefinition and is_a($object, $definition->getClass())) {
72
-				$keys[] = $definition->getKey();
73
-			}
74
-		}
68
+        $keys = [];
69
+        foreach ($this->registry->keys() as $key) {
70
+            $definition = $this->registry->get($key);
71
+            if ($definition instanceof EntityDefinition and is_a($object, $definition->getClass())) {
72
+                $keys[] = $definition->getKey();
73
+            }
74
+        }
75 75
 
76
-		if (empty($keys)) {
77
-			return;
78
-		}
76
+        if (empty($keys)) {
77
+            return;
78
+        }
79 79
 
80
-		$repo = $this->doctrine->getEntityManagerForClass(ConfigurationValue::class);
81
-		$qb = $repo->createQueryBuilder();
82
-		$countProtected = $qb
83
-			->select('count(v)')
84
-			->from(ConfigurationValue::class, 'v')
85
-			->where($qb->expr()->in('v.key', ':keys'))
86
-			->andWhere($qb->expr()->eq('v.value', ':id'))
87
-			->getQuery()
88
-			->setParameter('keys', $keys)
89
-			->setParameter('id', $id)
90
-			->getSingleScalarResult();
80
+        $repo = $this->doctrine->getEntityManagerForClass(ConfigurationValue::class);
81
+        $qb = $repo->createQueryBuilder();
82
+        $countProtected = $qb
83
+            ->select('count(v)')
84
+            ->from(ConfigurationValue::class, 'v')
85
+            ->where($qb->expr()->in('v.key', ':keys'))
86
+            ->andWhere($qb->expr()->eq('v.value', ':id'))
87
+            ->getQuery()
88
+            ->setParameter('keys', $keys)
89
+            ->setParameter('id', $id)
90
+            ->getSingleScalarResult();
91 91
 
92
-		if ($countProtected > 0) {
93
-			throw new ProtectedReferenceException("Can't delete protected reference.");
94
-		}
95
-	}
92
+        if ($countProtected > 0) {
93
+            throw new ProtectedReferenceException("Can't delete protected reference.");
94
+        }
95
+    }
96 96
 }
Please login to merge, or discard this patch.