/** * Processes the registration */ public function registerHandleAction(Application $app, Request $request) { $errors = array(); if (!($email = $request->request->get('email'))) { $errors[] = '"email" is required'; } if (!($plainPassword = $request->request->get('plainPassword'))) { $errors[] = '"password" is required'; } if (!($username = $request->request->get('username'))) { $errors[] = '"username" is required'; } /** @var \KnpU\CodeBattle\Repository\UserRepository $userRepository */ $userRepository = $app['repository.user']; // make sure we don't already have this user! if ($existingUser = $userRepository->findUserByEmail($email)) { $errors[] = 'A user with this email is already registered!'; } // make sure we don't already have this user! if ($existingUser = $userRepository->findUserByUsername($username)) { $errors[] = 'A user with this username is already registered!'; } $user = new User(); $user->email = $email; $user->username = $username; $user->setPlainPassword($plainPassword); // errors? Show them! if (count($errors) > 0) { return $this->render('user\\register.twig', array('errors' => $errors, 'user' => $user)); } $userRepository->save($user); $this->loginUser($user); return $this->redirect($this->generateUrl('homepage')); }
/** * Logs this user into the system * * @param User $user */ public function loginUser(User $user) { $token = new UsernamePasswordToken($user, $user->getPassword(), 'main', $user->getRoles()); $this->container['security']->setToken($token); }
public function populateData() { $user = new User(); $user->username = '******'; $user->email = '*****@*****.**'; $user->setPlainPassword('foo'); $userRepo = $this->app['repository.user']; $userRepo->save($user); $project1 = new Project(); $project1->name = 'BurningBot'; $project1->difficultyLevel = rand(1, 10); $projectRepo = $this->app['repository.project']; $projectRepo->save($project1); $project2 = new Project(); $project2->name = 'InstaFaceTweet'; $project2->difficultyLevel = rand(1, 10); $projectRepo = $this->app['repository.project']; $projectRepo->save($project2); $project3 = new Project(); $project3->name = 'MountBox'; $project3->difficultyLevel = rand(1, 10); $projectRepo = $this->app['repository.project']; $projectRepo->save($project3); $project4 = new Project(); $project4->name = 'Video Game'; $project4->difficultyLevel = rand(1, 10); $projectRepo = $this->app['repository.project']; $projectRepo->save($project4); $project5 = new Project(); $project5->name = 'Bike Shop Project'; $project5->difficultyLevel = rand(1, 10); $projectRepo = $this->app['repository.project']; $projectRepo->save($project5); }
public function createUser($email, $plainPassword, $username = null) { $user = new User(); $user->email = $email; $user->username = $username ? $username : '******' . rand(0, 10000); $user->setPlainPassword($plainPassword); $this->getUserRepository()->save($user); return $user; }