예제 #1
0
 public function load(ObjectManager $manager)
 {
     $userAdmin = new User();
     $userAdmin->setUsername('admin');
     $userAdmin->setPassword('$2y$13$Br1BVfk/wvTn.ChezqDQfOrTpYUnJqHsolRGJX04bN7bW3EFf2PUe');
     // = MDP2admin
     $userAdmin->setEmail('*****@*****.**');
     $userAdmin->setEnabled(true);
     $userAdmin->setRoles(array('ROLE_AUTHENTIFICATED'));
     $manager->persist($userAdmin);
     $manager->flush();
 }
 public function load(ObjectManager $manager)
 {
     // Add admin
     $user = new User();
     $user->setUsername("admin");
     $user->setPassword("admin");
     $user->setSalt('');
     $user->setRoles(array('ROLE_ADMIN'));
     $manager->persist($user);
     // Add raspi
     $user = new User();
     $user->setUsername("raspi");
     $user->setPassword("raspi");
     $user->setSalt('');
     $user->setRoles(array('ROLE_RASPI'));
     $manager->persist($user);
     // On déclenche l'enregistrement
     $manager->flush();
 }
 /**
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $userAdmin = new User();
     $userAdmin->setUsername('Admin Test');
     $userAdmin->setEmail('*****@*****.**');
     $userAdmin->setPlainPassword('admin');
     $userAdmin->setEnabled(true);
     $userAdmin->setRoles(array('ROLE_ADMIN'));
     $user = new User();
     $user->setUsername('User');
     $user->setEmail('*****@*****.**');
     $user->setPlainPassword('user');
     $user->setEnabled(true);
     $user->setRoles(array('ROLE_USER'));
     $manager->persist($userAdmin);
     $manager->persist($user);
     $manager->flush();
     $this->addReference('user', $userAdmin);
 }
예제 #4
0
 /**
  * Booking Action
  * @param Request $request
  * @param Accommodation $accommodation
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function bookingAction(Request $request, Accommodation $accommodation)
 {
     $em = $this->getDoctrine()->getManager();
     $session = $request->getSession();
     try {
         # User
         $role = $em->getRepository('UserBundle:Role')->findOneByName('guest');
         $unit = $em->getRepository('AppBundle:Unit')->find($request->request->get('unit'));
         $checkIn = new \DateTime($request->request->get('checkIn'));
         $checkOut = new \DateTime($request->request->get('checkOut'));
         $price = $request->request->get('price');
         $bookingForm = $this->createForm(new RegistrationType(array()));
         $bookingForm->handleRequest($request);
         # Array with form fields
         $data = $bookingForm->getData();
         if (!$this->container->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY')) {
             $user = new User();
             $user->setRoles($role);
             $user->setUsername($data['username']);
             $user->setName($data['name']);
             $user->setSurename($data['surename']);
             $user->setEmail($data['email']);
             $user->setPassword($data['password']);
             $user->setIsActive(0);
             $user->encryptPassword();
             # User validation
             $validator = $this->get('validator');
             $errors = $validator->validate($user);
             $errorsString = (string) $errors;
             if (count($errors) > 0) {
                 $response = array();
                 $response['error'] = $errorsString;
                 $session->getFlashBag()->add('formErrors', (string) $errorsString);
                 return $this->redirect($this->generateUrl('app_accommodation_single', array('id' => $accommodation->getId())));
             }
         } else {
             $user = $this->getUser();
         }
         # Booking
         $booking = new Booking();
         $booking->setUnit($unit);
         $booking->setStatus(0);
         $booking->setPrice($price);
         $booking->setUser($user);
         $booking->setFromDate($checkIn);
         $booking->setToDate($checkOut);
         # Booking validation
         $validator = $this->get('validator');
         $errorsBooking = $validator->validate($booking);
         $errorsString = (string) $errorsBooking;
         if (count($errorsBooking) > 0) {
             $response = array();
             $response['error'] = $errorsString;
             $session->getFlashBag()->add('formErrors', (string) $errorsString);
             return $this->redirect($this->generateUrl('app_accommodation_single', array('id' => $accommodation->getId())));
         }
         # Booking not allowed
         if (!$this->get('bookingService')->bookingAllowed($booking)) {
             return $this->redirect($this->generateUrl('user_403'));
         }
         $em->persist($user);
         $em->flush();
         $em->persist($booking);
         $em->flush();
         $session->getFlashBag()->add('formSuccess', $this->get('translator')->trans('booking_success'));
         $this->bookingRequestEmail($accommodation->getUser(), $booking, 'host');
         $this->bookingRequestEmail($user, $booking, 'guest');
         if ($user->getIsActive()) {
             return $this->redirect($this->generateUrl('app_profile'));
         } else {
             return $this->redirect($this->generateUrl('app_home'));
         }
     } catch (ExportException $e) {
         $session->getFlashBag()->add('formError', $e->getMessage());
         return $this->redirect($this->generateUrl('app_home'));
     }
 }
 /**
  * {@inheritDoc}
  */
 public function setRoles(array $roles)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRoles', [$roles]);
     return parent::setRoles($roles);
 }
예제 #6
0
 /**
  * @param User $object User
  */
 public function prePersist($object)
 {
     $object->setEnabled(true);
     $object->setRoles(array('ROLE_ADMIN'));
 }
예제 #7
0
 /**
  * This method is executed after interact() and initialize(). It usually
  * contains the logic to execute to complete this command task.
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $startTime = microtime(true);
     $username = $input->getArgument('username');
     $plainPassword = $input->getArgument('password');
     $isAdmin = $input->getOption('is-admin');
     $isSuperAdmin = $input->getOption('is-superadmin');
     // first check if a user with the same username already exists
     $existingUser = $this->entityManager->getRepository('UserBundle:User')->findOneBy(array('username' => $username));
     if (null !== $existingUser) {
         throw new \RuntimeException(sprintf('There is already a user registered with the "%s" username.', $username));
     }
     // create the user and encode its password
     $user = new User();
     $user->setUsername($username);
     if ($isAdmin) {
         $user->setRoles(array('ROLE_ADMIN'));
     } elseif ($isSuperAdmin) {
         $user->setRoles(array('ROLE_SUPER_ADMIN'));
     } else {
         $user->setRoles(array('ROLE_USER'));
     }
     // See http://symfony.com/doc/current/book/security.html#security-encoding-password
     $encoder = $this->getContainer()->get('security.password_encoder');
     $encodedPassword = $encoder->encodePassword($user, $plainPassword);
     $user->setPassword($encodedPassword);
     $this->entityManager->persist($user);
     $this->entityManager->flush();
     $output->writeln('');
     $output->writeln(sprintf('[OK] %s was successfully created: %s (%s)', $isAdmin || $isSuperAdmin ? 'Administrator user' : 'User', $user->getUsername()));
     if ($output->isVerbose()) {
         $finishTime = microtime(true);
         $elapsedTime = $finishTime - $startTime;
         $output->writeln(sprintf('[INFO] New user database id: %d / Elapsed time: %.2f ms', $user->getId(), $elapsedTime * 1000));
     }
 }