Exemplo n.º 1
0
 /**
  * @Route("/propose", name="covoiturage_my_propose")
  * @Template()
  */
 public function proposeAction(Request $request)
 {
     if (!$this->getUserLayer()->isUser()) {
         return $this->createAccessDeniedResponse();
     }
     /** @var EntityManager $em */
     $em = $this->getDoctrine()->getManager();
     $proposal = new Covoit();
     $proposal->setAuthor($this->getUser());
     $proposal->setStartCity($em->getRepository('EtuCoreBundle:City')->find(749));
     // Troyes
     $proposal->setEndCity($em->getRepository('EtuCoreBundle:City')->find(826));
     // Paris
     if ($this->getUser()->getPhoneNumber()) {
         $proposal->setPhoneNumber($this->getUser()->getPhoneNumber());
     }
     $form = $this->createForm($this->get('etu.covoit.form.proposal'), $proposal);
     if ($request->getMethod() == 'POST' && $form->submit($request)->isValid()) {
         $proposal->setStartHour($proposal->getStartHour()->format('H:i'));
         $proposal->setEndHour($proposal->getEndHour()->format('H:i'));
         $em->persist($proposal);
         $em->flush();
         // Add current user as subscriber
         $this->getSubscriptionsManager()->subscribe($this->getUser(), 'covoit', $proposal->getId());
         // Dispatch the covoit for alerts
         $this->get('etu.covoit.notifs_dispatcher')->dispatch($proposal);
         $this->get('session')->getFlashBag()->set('message', array('type' => 'success', 'message' => 'covoit.messages.created'));
         return $this->redirect($this->generateUrl('covoiturage_view', ['id' => $proposal->getId(), 'slug' => $proposal->getStartCity()->getSlug() . '-' . $proposal->getEndCity()->getSlug()]));
     }
     return ['form' => $form->createView()];
 }
Exemplo n.º 2
0
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $faker = Factory::create('fr_FR');
     $covoit = new Covoit();
     $covoit->setAuthor($this->getReference('user_user'));
     $covoit->setStartCity($this->getReference('city_troyes'));
     $covoit->setEndCity($this->getReference('city_paris'));
     $covoit->setStartAdress($faker->text(150));
     $covoit->setEndAdress($faker->text(150));
     $covoit->setStartHour('16:00');
     $covoit->setEndHour('19:00');
     $covoit->setCapacity(rand(2, 5));
     $covoit->setDate($faker->dateTimeThisYear);
     $covoit->setPhoneNumber($faker->phoneNumber);
     $covoit->setPrice(rand(15, 35));
     $covoit->setNotes($faker->text(250));
     $manager->persist($covoit);
     $manager->flush();
 }