Passed
Pull Request — master (#123)
by Arnaud
06:46
created

RedirectionUtils::shouldRedirectToEdit()   A

Complexity

Conditions 5
Paths 5

Size

Total Lines 22
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 5
eloc 9
c 1
b 0
f 0
nc 5
nop 3
dl 0
loc 22
rs 9.6111
1
<?php
2
3
namespace LAG\AdminBundle\Utils;
4
5
use LAG\AdminBundle\Configuration\AdminConfiguration;
6
use Symfony\Component\Form\FormInterface;
7
use Symfony\Component\HttpFoundation\Request;
8
9
class RedirectionUtils
10
{
11
    public static function shouldRedirectToEdit(
12
        FormInterface $form,
13
        Request $request,
14
        AdminConfiguration $configuration
15
    ): bool {
16
        if (!$form->isSubmitted()) {
17
            return false;
18
        }
19
20
        if (!$form->isValid()) {
21
            return false;
22
        }
23
24
        if ($request->get('submit_and_redirect')) {
25
            return false;
26
        }
27
28
        if (!key_exists('edit', $configuration->getParameter('actions'))) {
29
            return false;
30
        }
31
32
        return true;
33
    }
34
35
    public static function shouldRedirectToList(
36
        FormInterface $form,
37
        Request $request,
38
        AdminConfiguration $configuration
39
    ): bool {
40
        if (!$form->isSubmitted()) {
41
            return false;
42
        }
43
44
        if (!$form->isValid()) {
45
            return false;
46
        }
47
48
        if (!key_exists('list', $configuration->getParameter('actions'))) {
49
            return false;
50
        }
51
52
        if (!$request->get('submit_and_redirect')) {
53
            return false;
54
        }
55
56
        if ('submit_and_redirect' !== $request->get('submit_and_redirect')) {
57
            return false;
58
        }
59
60
        return true;
61
    }
62
}
63