Code Duplication    Length = 32-35 lines in 2 locations

Controller/CRUDController.php 2 locations

@@ 130-164 (lines=35) @@
127
     * @param Request $request
128
     * @return array|RedirectResponse
129
     */
130
    public function createAction(Request $request)
131
    {
132
        $admin = $this->getAdminFromRequest($request);
133
        $admin->handleRequest($request, $this->getUser());
134
        
135
        // check permissions
136
        $this->forward404IfNotAllowed($admin);
137
        
138
        // create form
139
        $form = $this->createForm($admin->getConfiguration()->getParameter('form'), $admin->create());
140
        $form->handleRequest($request);
141
142
        if ($form->isValid()) {
143
            // save entity
144
            $success = $admin->save();
145
146
            if ($success) {
147
                // if save is pressed, user stay on the edit view
148
                if ($request->request->get('submit') == 'save') {
149
                    $editRoute = $admin->generateRouteName('edit');
150
151
                    return $this->redirectToRoute($editRoute, [
152
                        'id' => $admin->getUniqueEntity()->getId(),
153
                    ]);
154
                } else {
155
                    // otherwise user is redirected to list view
156
                    $listRoute = $admin->generateRouteName('list');
157
158
                    return $this->redirectToRoute($listRoute);
159
                }
160
            }
161
        }
162
        return [
163
            'admin' => $admin,
164
            'form' => $form->createView(),
165
        ];
166
    }
167
@@ 177-208 (lines=32) @@
174
     *
175
     * @return array|RedirectResponse
176
     */
177
    public function editAction(Request $request)
178
    {
179
        $admin = $this->getAdminFromRequest($request);
180
        $admin->handleRequest($request, $this->getUser());
181
        // check permissions
182
        $this->forward404IfNotAllowed($admin);
183
        // create form
184
        $form = $this->createForm($admin->getConfiguration()->getParameter('form'), $admin->getUniqueEntity());
185
        $form->handleRequest($request);
186
        $accessor = PropertyAccess::createPropertyAccessor();
187
188
        if ($form->isValid()) {
189
            $admin->save();
190
191
            if ($request->request->get('submit') == 'save') {
192
                $saveRoute = $admin->generateRouteName('edit');
193
194
                return $this->redirectToRoute($saveRoute, [
195
                    'id' => $accessor->getValue($admin->getUniqueEntity(), 'id'),
196
                ]);
197
            } else {
198
                $listRoute = $admin->generateRouteName('list');
199
                // redirect to list
200
                return $this->redirectToRoute($listRoute);
201
            }
202
        }
203
204
        return [
205
            'admin' => $admin,
206
            'form' => $form->createView(),
207
        ];
208
    }
209
210
    /**
211
     * Generic delete action.