Merge pull request #1274 from nlegoff/fix-gh-1271

[3.9] Fix #1271 Can not add user trough validation process
This commit is contained in:
Nicolas Le Goff
2015-03-10 09:50:49 +01:00

View File

@@ -509,41 +509,37 @@ class Push implements ControllerProviderInterface
$user = null; $user = null;
$email = $request->request->get('email'); $email = $request->request->get('email');
try { if (null !== $user = $app['repo.users']->findByEmail($email)) {
$user = $app['repo.users']->findByEmail($email);
$result['message'] = $app->trans('User already exists'); $result['message'] = $app->trans('User already exists');
$result['success'] = true; $result['success'] = true;
$result['user'] = $userFormatter($user); $result['user'] = $userFormatter($user);
} catch (\Exception $e) {
return $app->json($result);
} }
if (!$user instanceof User) { try {
try { $password = $app['random.medium']->generateString(128);
$password = $app['random.medium']->generateString(128);
$user = $app['manipulator.user']->createUser($email, $password, $email); $user = $app['manipulator.user']->createUser($email, $password, $email);
$user->setFirstName($request->request->get('firstname')) $user->setFirstName($request->request->get('firstname'))
->setLastName($request->request->get('lastname')); ->setLastName($request->request->get('lastname'));
if ($request->request->get('company')) { if ($request->request->get('company')) {
$user->setCompany($request->request->get('company')); $user->setCompany($request->request->get('company'));
}
if ($request->request->get('job')) {
$user->setCompany($request->request->get('job'));
}
if ($request->request->get('form_geonameid')) {
$app['manipulator.user']->setGeonameId($user, $request->request->get('form_geonameid'));
}
$result['message'] = $app->trans('User successfully created');
$result['success'] = true;
$result['user'] = $userFormatter($user);
} catch (\Exception $e) {
$result['message'] = $app->trans('Error while creating user');
} }
if ($request->request->get('job')) {
$user->setCompany($request->request->get('job'));
}
if ($request->request->get('form_geonameid')) {
$app['manipulator.user']->setGeonameId($user, $request->request->get('form_geonameid'));
}
$result['message'] = $app->trans('User successfully created');
$result['success'] = true;
$result['user'] = $userFormatter($user);
} catch (\Exception $e) {
$result['message'] = $app->trans('Error while creating user');
} }
return $app->json($result); return $app->json($result);