src/Controller/Frontend/AdvertController.php line 51

Open in your IDE?
  1. <?php
  2. /**
  3.  * User: remmel
  4.  * Date: 1/3/16
  5.  * Time: 5:33 PM
  6.  */
  7. namespace App\Controller\Frontend;
  8. use App\Entity\Advert;
  9. use App\Entity\model\Conveyance;
  10. use App\Form\AdvertType;
  11. use App\Repository\BlockRepository;
  12. use App\Repository\StopRepository;
  13. use App\Service\UrlRewrite;
  14. use DateTime;
  15. use Doctrine\Persistence\ManagerRegistry;
  16. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  17. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  18. use Symfony\Component\HttpFoundation\Request;
  19. use Symfony\Component\Mailer\MailerInterface;
  20. use Symfony\Component\Mime\Email;
  21. use Symfony\Component\Routing\Annotation\Route;
  22. class AdvertController extends AbstractController {
  23.     /**
  24.      * @Route("/revendre-billet-de-bus/{id}", name="page_advert_show", options={"i18n_locales"={"fr","en"}})
  25.      */
  26.     public function secondHandticket(Advert $adUrlRewrite $urlRewriteService) {
  27.         $form $this->createForm(AdvertType::class, $ad, ['disabled' => true]);
  28.         $url $urlRewriteService
  29.             ->generateFromAtoBUrl($ad->getDepStop(), $ad->getArrStop(), $ad->getDepDatetime()->format('Y-m-d'), nulltruenullConveyance::BUS);
  30.         $label 'Bus '.$ad->getDepStop()->getName().' '.$ad->getArrStop()->getName();
  31.         $link = new Link($label$url);
  32.         return $this->render("Default/advert/show.html.twig",[
  33.             'form' => $form->createView(),
  34.             'ad' => $ad,
  35.             'noIndex' => true,
  36.             'link' => $link
  37.         ]);
  38.     }
  39.     /**
  40.      * @Route("/revendre-billet-de-bus", name="page_advert_new", options={"i18n_locales"={"fr"}})
  41.      * @Template("Default/advert/new.html.twig")
  42.      */
  43.     public function sellTicketFormAction(Request $requestMailerInterface $mailerStopRepository $stopRepoManagerRegistry $doctrineBlockRepository $blockRepo) {
  44.         $ad = new Advert();
  45.         $ad->setCreatedAt(new DateTime());
  46.         $ad->setDepDatetime(new DateTime('tomorrow'));
  47.         $ad->setArrDatetime(new DateTime('tomorrow'));
  48.         $ad->setDepStop($stopRepo->find(10));
  49.         $ad->setArrStop($stopRepo->find(6));
  50.         $form $this->createForm(AdvertType::class, $ad);
  51.         $form->handleRequest($request);
  52.         if ($form->isSubmitted() && $form->isValid()) {
  53.             $message = (new Email())
  54.                 ->subject('New Advert')
  55.                 ->from('remy.cloutrier@gmail.com')
  56.                 ->to('contact@comparabus.com')
  57.                 ->html(
  58.                     json_encode($ad),
  59.                     'text/html'
  60.                 );
  61.             $mailer->send($message);
  62.             $em $doctrine->getManager();
  63.             $em->persist($ad);
  64.             $em->flush();
  65.             $this->addFlash('ad_created'null);
  66.             return $this->redirectToRoute('page_advert_show', ['id' => $ad->getId()]);
  67.         }
  68.         $block $blockRepo
  69.             ->findOnebyPathNotNull($request->getPathInfo().'#modification');
  70.         return [
  71.             'form' => $form->createView(),
  72.             'block' => $block
  73.         ];
  74.     }
  75. }