Code Duplication    Length = 32-35 lines in 2 locations

Controller/CRUDController.php 2 locations

@@ 111-145 (lines=35) @@
108
     * @param Request $request
109
     * @return array
110
     */
111
    public function createAction(Request $request)
112
    {
113
        $admin = $this->getAdminFromRequest($request);
114
        $admin->handleRequest($request, $this->getUser());
115
        // check permissions
116
        $this->forward404IfNotAllowed($admin);
117
        // create form
118
        $form = $this->createForm($admin->getConfiguration()->getParameter('form'), $admin->create());
119
        $form->handleRequest($request);
120
121
        if ($form->isValid()) {
122
            // save entity
123
            $success = $admin->save();
124
125
            if ($success) {
126
                // if save is pressed, user stay on the edit view
127
                if ($request->request->get('submit') == 'save') {
128
                    $editRoute = $admin->generateRouteName('edit');
129
130
                    return $this->redirectToRoute($editRoute, [
131
                        'id' => $admin->getUniqueEntity()->getId(),
132
                    ]);
133
                } else {
134
                    // otherwise user is redirected to list view
135
                    $listRoute = $admin->generateRouteName('list');
136
137
                    return $this->redirectToRoute($listRoute);
138
                }
139
            }
140
        }
141
        return [
142
            'admin' => $admin,
143
            'form' => $form->createView(),
144
        ];
145
    }
146
147
    /**
148
     * Generic edit action.
@@ 156-187 (lines=32) @@
153
     *
154
     * @return array|RedirectResponse
155
     */
156
    public function editAction(Request $request)
157
    {
158
        $admin = $this->getAdminFromRequest($request);
159
        $admin->handleRequest($request, $this->getUser());
160
        // check permissions
161
        $this->forward404IfNotAllowed($admin);
162
        // create form
163
        $form = $this->createForm($admin->getConfiguration()->getParameter('form'), $admin->getUniqueEntity());
164
        $form->handleRequest($request);
165
        $accessor = PropertyAccess::createPropertyAccessor();
166
167
        if ($form->isValid()) {
168
            $admin->save();
169
170
            if ($request->request->get('submit') == 'save') {
171
                $saveRoute = $admin->generateRouteName('edit');
172
173
                return $this->redirectToRoute($saveRoute, [
174
                    'id' => $accessor->getValue($admin->getUniqueEntity(), 'id'),
175
                ]);
176
            } else {
177
                $listRoute = $admin->generateRouteName('list');
178
                // redirect to list
179
                return $this->redirectToRoute($listRoute);
180
            }
181
        }
182
183
        return [
184
            'admin' => $admin,
185
            'form' => $form->createView(),
186
        ];
187
    }
188
189
    /**
190
     * Generic delete action