Code Duplication    Length = 60-60 lines in 2 locations

Controller/CRUDController.php 1 location

@@ 31-90 (lines=60) @@
28
        return new RedirectResponse($url);
29
    }
30
31
    protected function redirectTo($object)
32
    {
33
        $request = $this->getRequest();
34
35
        $url = false;
36
        $params = [];
37
38
        if ($object instanceof Item) {
39
            if ($object->getParent() !== null) {
40
                $itemId = $object->getParent()->getId();
41
                $params['list']['item'] = $itemId;
42
                $params['create']['create-item'] = $itemId;
43
            }
44
            $menuId = $object->getMenu()->getId();
45
            $params['list']['menu'] = $menuId;
46
            $params['create']['create-menu'] = $menuId;
47
        } elseif ($object instanceof Menu) {
48
            $menuId = $object->getId();
49
            $params['list']['menu'] = $menuId;
50
            $params['create']['create-menu'] = $menuId;
51
        }
52
53
        if (null !== $request->get('btn_update_and_list')) {
54
            $url = $this->admin->generateUrl('list', $params['list']);
55
        } elseif (null !== $request->get('btn_create_and_list')) {
56
            $url = $this->admin->generateUrl('list', $params['list']);
57
        }
58
59
        if (null !== $request->get('btn_create_and_create')) {
60
            if ($this->admin->hasActiveSubClass()) {
61
                $params['create']['subclass'] = $request->get('subclass');
62
            }
63
            $url = $this->admin->generateUrl('create', $params['create']);
64
        }
65
66
        if ($this->getRestMethod() === 'DELETE') {
67
            if ($object instanceof Item) {
68
                $url = $this->admin->generateUrl('list', $params['list']);
69
            } else {
70
                $router = $this->get('router');
71
                $url = $router->generate('admin_alpixel_menu_menu_list');
72
            }
73
        }
74
75
        if (!$url) {
76
            foreach (['edit', 'show'] as $route) {
77
                if ($this->admin->hasRoute($route) && $this->admin->isGranted(strtoupper($route), $object)) {
78
                    $url = $this->admin->generateObjectUrl($route, $object);
79
                    break;
80
                }
81
            }
82
        }
83
84
        if (!$url) {
85
            $router = $this->get('router');
86
            $url = $router->generate('admin_alpixel_menu_menu_list');
87
        }
88
89
        return new RedirectResponse($url);
90
    }
91
}
92

Controller/ItemCRUDController.php 1 location

@@ 106-165 (lines=60) @@
103
        ), null);
104
    }
105
106
    protected function redirectTo($object)
107
    {
108
        $request = $this->getRequest();
109
110
        $url = false;
111
        $params = [];
112
113
        if ($object instanceof Item) {
114
            if ($object->getParent() !== null) {
115
                $itemId = $object->getParent()->getId();
116
                $params['list']['item'] = $itemId;
117
                $params['create']['create-item'] = $itemId;
118
            }
119
            $menuId = $object->getMenu()->getId();
120
            $params['list']['menu'] = $menuId;
121
            $params['create']['create-menu'] = $menuId;
122
        } elseif ($object instanceof Menu) {
123
            $menuId = $object->getId();
124
            $params['list']['menu'] = $menuId;
125
            $params['create']['create-menu'] = $menuId;
126
        }
127
128
        if (null !== $request->get('btn_update_and_list')) {
129
            $url = $this->admin->generateUrl('list', $params['list']);
130
        } elseif (null !== $request->get('btn_create_and_list')) {
131
            $url = $this->admin->generateUrl('list', $params['list']);
132
        }
133
134
        if (null !== $request->get('btn_create_and_create')) {
135
            if ($this->admin->hasActiveSubClass()) {
136
                $params['create']['subclass'] = $request->get('subclass');
137
            }
138
            $url = $this->admin->generateUrl('create', $params['create']);
139
        }
140
141
        if ($this->getRestMethod() === 'DELETE') {
142
            if ($object instanceof Item) {
143
                $url = $this->admin->generateUrl('list', $params['list']);
144
            } else {
145
                $router = $this->get('router');
146
                $url = $router->generate('admin_alpixel_menu_menu_list');
147
            }
148
        }
149
150
        if (!$url) {
151
            foreach (['edit', 'show'] as $route) {
152
                if ($this->admin->hasRoute($route) && $this->admin->isGranted(strtoupper($route), $object)) {
153
                    $url = $this->admin->generateObjectUrl($route, $object);
154
                    break;
155
                }
156
            }
157
        }
158
159
        if (!$url) {
160
            $router = $this->get('router');
161
            $url = $router->generate('admin_alpixel_menu_menu_list');
162
        }
163
164
        return new RedirectResponse($url);
165
    }
166
167
    public function itemAction()
168
    {