/**
  * @Route("/contact",name="contact")
  */
 public function contactAction(Request $request)
 {
     $user = $request->getSession()->get('user');
     $mailTo = $this->createFormBuilder()->setMethod('post')->add('nom', TextType::class, array('label' => 'Nom', 'required' => true, 'attr' => array('class' => 'form-control', 'id' => 'nom')))->add('prenom', TextType::class, array('label' => 'Prénom', 'required' => true, 'attr' => array('class' => 'form-control', 'id' => 'prenom')))->add('email', EmailType::class, array('label' => 'Email', 'required' => true, 'attr' => array('class' => 'form-control', 'id' => 'email')))->add('message', TextareaType::class, array('label' => 'Message', 'required' => true, 'attr' => array('class' => 'form-control', 'id' => 'message')))->add('telephone', TextType::class, array('label' => 'Téléphone', 'required' => false, 'attr' => array('class' => 'form-control', 'id' => 'telephone', 'pattern' => '(0|\\+33|0033)[1-9][0-9]{8}')))->add('type', EntityType::class, array('class' => 'AppBundle:TypeMessage', 'choice_label' => 'libelle', 'attr' => array('class' => 'form-control', 'id' => 'type')))->getForm();
     $mailTo->handleRequest($request);
     if ($mailTo->isSubmitted() && $mailTo->isValid()) {
         $data = $mailTo->getData();
         if (isset($data['telephone'])) {
             $telephone = $data['telephone'];
         } else {
             $telephone = '';
         }
         $message = new Message();
         $message->setMessage($data['message']);
         $message->setNom($data['nom']);
         $message->setPrenom($data['prenom']);
         $message->setTelephone($telephone);
         $message->setEmail($data['email']);
         $message->setIdType($data['type']);
         $message->setDate(new \Datetime());
         $em = $this->getDoctrine()->getManager();
         $em->persist($message);
         $em->flush();
         $this->addFlash('success', 'Votre message a bien été envoyé.');
     } elseif ($mailTo->isSubmitted()) {
         $this->addFlash('warning', 'Votre message n\'a pas pu être enregistré.');
     }
     // replace this example code with whatever you need
     return $this->render('@App/front/contact.html.twig', array('base_dir' => realpath($this->container->getParameter('kernel.root_dir') . '/..'), 'nav_active' => 'contact', 'user' => $user, 'mailTo' => $mailTo->createView()));
 }
 /**
  * @Route("/user/challenge/{slug}", name="challenge", requirements={"slug": "\d+"})
  */
 public function challengeAction(Request $request, $slug)
 {
     $player = $this->getDoctrine()->getRepository('AppBundle:User')->find($slug);
     $lostMatches = $this->getDoctrine()->getRepository('AppBundle:User')->getLostMatches($slug);
     $wonMatches = $this->getDoctrine()->getRepository('AppBundle:User')->getWonMatches($slug);
     $challenge = new Challenge();
     $message = new Message();
     $user = $this->getUser();
     $tokenStorage = $this->container->get('security.token_storage');
     $form = $this->createForm(new ChallengeType($tokenStorage), $challenge);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $data = $form->getData();
         $challenge->setPlayer1($user->getId());
         $challenge->setPlayer2($request->get('player2'));
         $challenge->setPublishedDate(new \DateTime('now'));
         $challenge->setClub($data->getClub()->getId());
         $message->setSenderId($user->getId());
         $message->setReceiverId($request->get('player2'));
         $message->setStatus(0);
         $message->setMessage($data->getMessage());
         $message->setDate(new \DateTime('now'));
         try {
             //Saving Challenge in the DataBase
             $em = $this->getDoctrine()->getManager();
             $em->persist($challenge);
             $em->flush();
             $message->setType($challenge->getId());
             $em->persist($message);
             $em->flush();
             $this->addFlash('notice', 'Your request was sent correctly.');
             return $this->render('user/challenge_notification.html.twig', array('icon' => "fa fa-check fa-2x", 'class' => "text-success"));
         } catch (Exception $e) {
             $this->addFlash('error', 'Something went wrong!');
             return $this->render('user/challenge_notification.html.twig', array('icon' => "fa fa-exclamation-circle fa-2x", 'class' => "text-danger"));
         }
     }
     return $this->render('user/user_challenge.html.twig', array('form' => $form->createView(), 'slug' => $slug, 'player' => $player, 'won' => $wonMatches, 'lost' => $lostMatches));
 }
 /**
  * Save in database the Message entity representation of a MessageInterface instance.
  *
  * @param MessageInterface $message
  */
 public function save(MessageInterface $message)
 {
     $entity = new Message();
     $entity->setContent($message->getContent());
     $entity->setDate($message->getDate());
     $entity->setUser($this->getUserEntity($message->getUser()));
     $entity->setType($message->getType());
     try {
         $this->em->persist($entity);
         $this->em->flush();
     } catch (\Exception $e) {
         echo $e->getMessage();
     }
 }