18
18
use Symfony \Component \HttpFoundation \File \UploadedFile ;
19
19
use Symfony \Component \Form \Extension \Core \Type \CollectionType ;
20
20
use Symfony \Component \Form \Extension \Core \Type \ChoiceType ;
21
+ use Symfony \Component \Validator \Constraints as Assert ;
21
22
22
23
/**
23
24
* Controller used to manage user contents in the backend.
@@ -84,7 +85,7 @@ public function newAction(Request $request)
84
85
// If a file has been uploaded
85
86
if ( null != $ file ) {
86
87
// First validate uploaded image. If errors found, return to same page with flash errors
87
- $ imageErrors = $ this ->validateImage ($ request );
88
+ $ imageErrors = $ this ->validateImage ($ file , $ locale );
88
89
if (!$ imageErrors ) {
89
90
return $ this ->render ('@ApiBundle/Resources/views/admin/user/new.html.twig ' , [
90
91
'form ' => $ form ->createView (),
@@ -106,7 +107,7 @@ public function newAction(Request $request)
106
107
107
108
$ userManager ->updateUser ($ user );
108
109
109
- $ this ->logMessageAndFlash (200 , 'success ' , 'User successfully created: ' , $ this ->get ('translator ' )->trans ('flash.user_creatd_successfully ' ), $ request ->getLocale () );
110
+ $ this ->logMessageAndFlash (200 , 'success ' , 'User successfully created: ' , $ this ->get ('translator ' )->trans ('flash.user_created_successfully ' ), $ request ->getLocale () );
110
111
111
112
return $ this ->redirectToRoute ('admin_user_index ' );
112
113
}
@@ -177,7 +178,7 @@ public function editAction(User $user, Request $request)
177
178
// If a file has been uploaded
178
179
if ( null != $ file ) {
179
180
// First validate uploaded image. If errors found, return to same page with flash errors
180
- $ imageErrors = $ this ->validateImage ($ request );
181
+ $ imageErrors = $ this ->validateImage ($ file , $ locale );
181
182
if (!$ imageErrors ) {
182
183
return $ this ->render ('@ApiBundle/Resources/views/admin/user/edit.html.twig ' , [
183
184
'user ' => $ user ,
@@ -279,14 +280,8 @@ private function setUserProfileData(User $user, \Symfony\Component\Form\Form $fo
279
280
$ user ->setRoles ($ form ['roles ' ]->getData ());
280
281
}
281
282
282
- private function validateImage (Request $ request )
283
+ private function validateImage (UploadedFile $ file , $ locale )
283
284
{
284
- $ locale = $ request ->getLocale ();
285
-
286
- // $file stores the uploaded Image file
287
- /** @var Symfony\Component\HttpFoundation\File\UploadedFile $file */
288
- $ file = $ request ->files ->get ('image ' );
289
-
290
285
$ imageConstraint = new Assert \Image ();
291
286
292
287
// all constraint "options" can be set this way
@@ -295,12 +290,12 @@ private function validateImage(Request $request)
295
290
$ imageConstraint ->maxSize = 1024 *1024 ;
296
291
$ imageConstraint ->minWidth = 100 ;
297
292
$ imageConstraint ->minHeight = 100 ;
298
- // $imageConstraint->payload-> api_error = 'api.show_error_image';
293
+ $ imageConstraint ->payload [ ' api_error ' ] = 'api.show_error_image ' ;
299
294
300
295
// use the validator to validate the value
301
296
$ errors = $ this ->get ('validator ' )->validate ($ file , $ imageConstraint );
302
297
303
- if (0 != count ($ errors )) {
298
+ if (count ($ errors )) {
304
299
// this is *not* a valid image
305
300
$ errorArray = [];
306
301
foreach ($ errors as $ error ) {
@@ -310,7 +305,7 @@ private function validateImage(Request $request)
310
305
"show_message " => $ this ->get ('translator ' )->trans ($ constraint ->payload ['api_error ' ], array (), 'messages ' , $ locale )
311
306
);
312
307
array_push ($ errorArray , $ errorItem );
313
- $ this ->logMessageAndFlash (400 , 'warning ' , $ errorItem ['error_description ' ], $ this ->get ('translator ' )->trans ('flash.image_error ' ).' ' .$ errorItem ['error_description ' ], $ request -> getLocale () );
308
+ $ this ->logMessageAndFlash (400 , 'warning ' , $ errorItem ['error_description ' ], $ this ->get ('translator ' )->trans ('flash.image_error ' ).' ' .$ errorItem ['error_description ' ], $ locale );
314
309
}
315
310
return false ;
316
311
}
0 commit comments