/** * @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(); } }