public function registerAction() { $json = Dencoder::decode($this->getRequest()->getContent()); $userManager = $this->get('rtxlabs.user.user_manager'); $user = $userManager->findUserByEmail($json->email); if ($user instanceof User && $user->getDeletedAt() !== null) { $userManager->generateRegistrationToken($user); $userManager->saveUser($user); $this->get('rtxlabs.user.mailer')->sendReactivationEmailMessage($user); $response['success'] = false; $response['message'] = array('status' => 304); return new Response(Dencoder::encode($response)); } $user = $userManager->createUser(); $errors = $this->updateUser($user, $json, $userManager); if (!$json->tos) { $errors[] = array('propertyPath' => 'tos', 'message' => 'rtxlabs.user.tos'); } if (count($errors) > 0) { return new ValidationErrorResponse($errors); } $userManager->saveUser($user); $this->get('rtxlabs.user.mailer')->sendRegistrationEmailMessage($user); $userArray = $this->createUserBinder()->bind($user)->execute(); return new Response(Dencoder::encode($userArray)); }
private function responseForbidden($propertyPath = '', $message = 'rtxlabs.user.validation.forbidden') { $error = array('propertyPath' => $propertyPath, 'message' => $message); return new Response(Dencoder::encode($error), '403'); }