Code Duplication    Length = 32-35 lines in 2 locations

Controller/CRUDController.php 2 locations

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