1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
/**
* @Route("/conversations/{id}", name="conversations_show", methods={"GET","POST"})
*/
public function show(Request $request, User $user, MessageRepository $repo): Response
{
$message = new Message();
$message->setCreatedAt(new \DateTime("now"));
$message->setUserFrom($this->getUser());
$message->setUserTo($user);
$form = $this->createForm(MessageType::class, $message);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($message);
$entityManager->flush();
return $this->redirectToRoute('conversations_show', [
'id' => $user->getId(),
]);
}
return $this->render('conversations/show.html.twig', [
'user' => $user,
'form' => $form->createView(),
'messages' => $repo->getMessagesFor($this->getUser()->getId(), $user->getId())
]);
} |
Partager