@@ -57,14 +57,6 @@ public function newAction(Request $request)
57
57
58
58
if ($ form ->isSubmitted () && $ form ->isValid ()) {
59
59
try {
60
- $ this ->validateUsername ($ form , $ locale , new User ());
61
- $ this ->validatePassword ($ form , $ locale );
62
- $ this ->validateEmail ($ form , $ locale , new User ());
63
- $ this ->validateFirstname ($ form , $ locale );
64
- $ this ->validateDob ($ form , $ locale );
65
- $ this ->validateRoles ($ form , $ locale );
66
-
67
- // Everything ok, now proceed to create the user
68
60
$ userManager = $ this ->container ->get ('fos_user.user_manager ' );
69
61
$ user = $ userManager ->createUser ();
70
62
@@ -84,7 +76,6 @@ public function newAction(Request $request)
84
76
$ this ->addFlash ('success ' , $ flashMsg );
85
77
86
78
} catch (HttpException $ e ) {
87
- // Error messages for this section will come from above validate methods
88
79
return $ this ->redirectToRoute ('admin_user_new ' );
89
80
90
81
// Always catch exact exception for which flash message or logger is needed,
@@ -138,13 +129,6 @@ public function editAction(User $user, Request $request)
138
129
139
130
if ($ editForm ->isSubmitted () && $ editForm ->isValid ()) {
140
131
try {
141
- $ this ->validateUsername ($ editForm , $ locale , $ user );
142
- $ this ->validatePassword ($ editForm , $ locale );
143
- $ this ->validateEmail ($ editForm , $ locale , $ user );
144
- $ this ->validateFirstname ($ editForm , $ locale );
145
- $ this ->validateDob ($ editForm , $ locale );
146
- $ this ->validateRoles ($ editForm , $ locale );
147
-
148
132
$ user ->setFirstname ($ editForm ['firstname ' ]->getData ());
149
133
$ user ->setLastname ($ editForm ['lastname ' ]->getData ());
150
134
$ user ->setDob ($ editForm ['dob ' ]->getData ());
@@ -163,7 +147,6 @@ public function editAction(User $user, Request $request)
163
147
// Always catch exact exception for which flash message or logger is needed,
164
148
// otherwise catch block will not get executed on higher or lower ranked exceptions.
165
149
} catch (HttpException $ e ) {
166
- // Error messages for this section will come from above validate methods
167
150
return $ this ->redirectToRoute ('admin_user_edit ' , ['id ' => $ user ->getId ()]);
168
151
} catch (\Doctrine \DBAL \Exception \UniqueConstraintViolationException $ e ) {
169
152
$ flashMsg = $ this ->get ('translator ' )->trans ('flash.user_already_exists ' );
@@ -182,100 +165,6 @@ public function editAction(User $user, Request $request)
182
165
]);
183
166
}
184
167
185
- /**
186
- * Validate username
187
- */
188
- private function validateUsername (\Symfony \Component \Form \Form $ form , $ locale , User $ user ) {
189
- $ username = $ form ['username ' ]->getData ();
190
-
191
- // Check if username is empty
192
- if (null == $ username ) {
193
- $ this ->logMessageAndFlash (400 , 'danger ' , 'Empty username ' , $ this ->get ('translator ' )->trans ('api.show_error_username_missing ' , array (), 'messages ' , $ locale ), $ locale );
194
- }
195
-
196
- // If the username belongs to same user, no need to further check
197
- if (!($ user ->getUsername () == $ username )) {
198
- // Do a check for existing user with userManager->findByUsername
199
- /** @var $user UserInterface */
200
- $ user = $ this ->container ->get ('fos_user.user_manager ' )->findUserByUsernameOrEmail ($ username );
201
- if (null != $ user ) {
202
- $ this ->logMessageAndFlash (400 , 'danger ' , 'User already exists. Username: ' .$ user ->getUsername (), $ this ->get ('translator ' )->trans ('api.show_error_username_taken ' , array (), 'messages ' , $ locale ), $ locale );
203
- }
204
- }
205
- }
206
-
207
- /**
208
- * Validate password
209
- */
210
- private function validatePassword (\Symfony \Component \Form \Form $ form , $ locale ) {
211
- $ password = $ form ['password ' ]->getData ();
212
-
213
- // Check if password is empty
214
- if (null == $ password ) {
215
- $ this ->logMessageAndFlash (400 , 'danger ' , 'Invalid empty password ' , $ this ->get ('translator ' )->trans ('api.show_error_password ' , array (), 'messages ' , $ locale ), $ locale );
216
- }
217
- }
218
-
219
- /**
220
- * Validate email
221
- */
222
- private function validateEmail (\Symfony \Component \Form \Form $ form , $ locale , User $ user ) {
223
- $ email = $ form ['email ' ]->getData ();
224
-
225
- // Check if email is valid
226
- if (!filter_var ($ email , FILTER_VALIDATE_EMAIL )) {
227
- $ this ->logMessageAndFlash (400 , 'danger ' , 'Invalid email: ' .$ email , $ this ->get ('translator ' )->trans ('api.show_error_email ' , array (), 'messages ' , $ locale ), $ locale );
228
- }
229
-
230
- // If the email belongs to same user, no need to further check
231
- if (!($ user ->getEmail () == $ email )) {
232
- $ user = $ this ->container ->get ('fos_user.user_manager ' )->findUserByUsernameOrEmail ($ email );
233
- if (null != $ user ) {
234
- $ this ->logMessageAndFlash (400 , 'danger ' , 'Email ' .$ user ->getEmail ().' already taken by Username: ' .$ user ->getUsername (), $ this ->get ('translator ' )->trans ('api.show_error_email_taken ' , array (), 'messages ' , $ locale ), $ locale );
235
- }
236
- }
237
- }
238
-
239
- /**
240
- * Validate firstname
241
- */
242
- private function validateFirstname (\Symfony \Component \Form \Form $ form , $ locale ) {
243
- $ firstname = $ form ['firstname ' ]->getData ();
244
-
245
- // Check if firstname is empty. At least firstname is required.
246
- if (null == $ firstname ) {
247
- $ this ->logMessageAndFlash (400 , 'danger ' , 'Invalid empty firstname ' , $ this ->get ('translator ' )->trans ('api.show_error_firstname ' , array (), 'messages ' , $ locale ), $ locale );
248
- }
249
-
250
- }
251
-
252
- /**
253
- * Validate dob
254
- */
255
- private function validateDob (\Symfony \Component \Form \Form $ form , $ locale ) {
256
- $ dob = $ form ['dob ' ]->getData ();
257
-
258
- // Check if dob is valid
259
- list ($ mm ,$ dd ,$ yyyy ) = explode ('/ ' , $ dob ->format ('m/d/Y ' ) );
260
- if (!checkdate ($ mm ,$ dd ,$ yyyy )) {
261
- $ this ->logMessageAndFlash (400 , 'danger ' , 'Invalid mm/dd/yyyy DOB: ' .$ dob , $ this ->get ('translator ' )->trans ('api.show_error_dob ' , array (), 'messages ' , $ locale ), $ locale );
262
- }
263
- }
264
-
265
- /**
266
- * Validate roles
267
- */
268
- private function validateRoles (\Symfony \Component \Form \Form $ form , $ locale ) {
269
- $ roles = $ form ['roles ' ]->getData ();
270
- $ permittedRoles = ['ROLE_API ' , "ROLE_USER " ];
271
-
272
- foreach ($ roles as $ role ) {
273
- // Check if role is valid
274
- if (!in_array ($ role , $ permittedRoles ) )
275
- $ this ->logMessageAndFlash (400 , 'warning ' , 'Invalid role: ' .$ role , $ this ->get ('translator ' )->trans ('api.show_error_role ' .' ' .$ role , array (), 'messages ' , $ locale ), $ locale );
276
- }
277
- }
278
-
279
168
/**
280
169
* Deletes a User entity.
281
170
*
0 commit comments