Code Duplication    Length = 60-61 lines in 2 locations

src/Controller/CrudTrait.php 2 locations

@@ 98-157 (lines=60) @@
95
     *
96
     * @return Response|RedirectResponse
97
     */
98
    public function crudCreateObject(Request $request, array $templateVars = array())
99
    {
100
        $crudCreateRole = $this->crudCreateRole();
101
        if (!$this->crudIsGranted($crudCreateRole)) {
102
            throw new AccessDeniedException(sprintf('You need the permission to create an object, role: %s!', $crudCreateRole));
103
        }
104
105
        $object = $this->crudCreateFactory($request);
106
        $form = $this->crudCreateForm($object, $request);
107
108
        if ('POST' === $request->getMethod()) {
109
            $form->handleRequest($request);
110
            if ($this->crudCreateIsSubmitted($object, $form, $request)) {
111
                if ($form->isValid()) {
112
                    $this->crudCreatePrePersist($object, $form, $request);
113
114
                    $em = $this->crudManagerForClass($this->crudObjectClass());
115
                    $em->persist($object);
116
                    $em->flush();
117
118
                    $this->crudCreatePostFlush($object, $form, $request);
119
                    $this->crudCreateSuccessFlashMesssage($object, $form, $request);
120
                    $response = $this->crudCreateSuccessResponse($object, $form, $request);
121
                } else {
122
                    $this->crudCreateErrorFlashMesssage($object, $form, $request);
123
                    $response = $this->crudCreateErrorResponse($object, $form, $request);
124
                }
125
126
                if (null !== $response) {
127
                    return $response;
128
                }
129
            }
130
        }
131
132
        $baseTemplateVars = array(
133
            'request' => $request,
134
            'object' => $object,
135
            'form' => $form->createView(),
136
            'createRoute' => $this->crudCreateRoute(),
137
            'listRoute' => $this->crudListRoute(),
138
            'editRoute' => $this->crudEditRoute(),
139
            'viewRoute' => $this->crudViewRoute(),
140
            'deleteRoute' => $this->crudDeleteRoute(),
141
            'listRole' => $this->crudListRole(),
142
            'createRole' => $this->crudCreateRole(),
143
            'editRole' => $this->crudEditRole(),
144
            'viewRole' => $this->crudViewRole(),
145
            'deleteRole' => $this->crudDeleteRole(),
146
            'identifier' => $this->crudIdentifier(),
147
            'transPrefix' => $this->crudTransPrefix(),
148
            'transDomain' => $this->crudTransDomain(),
149
            'objectClass' => $this->crudObjectClass(),
150
        );
151
152
        return $this->crudCreateRenderTemplateResponse(
153
            $request,
154
            $baseTemplateVars,
155
            $templateVars
156
        );
157
    }
158
159
    /**
160
     * @param Request           $request
@@ 166-226 (lines=61) @@
163
     *
164
     * @return Response|RedirectResponse
165
     */
166
    public function crudEditObject(Request $request, $object, array $templateVars = array())
167
    {
168
        $object = $this->crudEditLoadObject($object, $request);
169
170
        $crudEditRole = $this->crudEditRole();
171
        if (!$this->crudIsGranted($crudEditRole, $object)) {
172
            throw new AccessDeniedException(sprintf('You need the permission to edit this object, role: %s!', $crudEditRole));
173
        }
174
175
        $form = $this->crudEditForm($object, $request);
176
177
        if ('POST' === $request->getMethod()) {
178
            $form->handleRequest($request);
179
            if ($this->crudEditIsSubmitted($object, $form, $request)) {
180
                if ($form->isValid()) {
181
                    $this->crudEditPrePersist($object, $form, $request);
182
183
                    $em = $this->crudManagerForClass($this->crudObjectClass());
184
                    $em->persist($object);
185
                    $em->flush();
186
187
                    $this->crudEditPostFlush($object, $form, $request);
188
                    $this->crudEditSuccessFlashMesssage($object, $form, $request);
189
                    $response = $this->crudEditSuccessResponse($object, $form, $request);
190
                } else {
191
                    $this->crudEditErrorFlashMesssage($object, $form, $request);
192
                    $response = $this->crudEditErrorResponse($object, $form, $request);
193
                }
194
195
                if (null !== $response) {
196
                    return $response;
197
                }
198
            }
199
        }
200
201
        $baseTemplateVars = array(
202
            'request' => $request,
203
            'object' => $object,
204
            'form' => $form->createView(),
205
            'createRoute' => $this->crudCreateRoute(),
206
            'listRoute' => $this->crudListRoute(),
207
            'editRoute' => $this->crudEditRoute(),
208
            'viewRoute' => $this->crudViewRoute(),
209
            'deleteRoute' => $this->crudDeleteRoute(),
210
            'listRole' => $this->crudListRole(),
211
            'createRole' => $this->crudCreateRole(),
212
            'editRole' => $this->crudEditRole(),
213
            'viewRole' => $this->crudViewRole(),
214
            'deleteRole' => $this->crudDeleteRole(),
215
            'identifier' => $this->crudIdentifier(),
216
            'transPrefix' => $this->crudTransPrefix(),
217
            'transDomain' => $this->crudTransDomain(),
218
            'objectClass' => $this->crudObjectClass(),
219
        );
220
221
        return $this->crudEditRenderTemplateResponse(
222
            $request,
223
            $baseTemplateVars,
224
            $templateVars
225
        );
226
    }
227
228
    /**
229
     * @param Request           $request