render('game/admin/contact/index.html.twig', [ 'messages' => $contactMessageRepository->findActive(), ]); } #[Route('/{id}', name: 'game_admin_contact_show', methods: ['GET'])] public function show(ContactMessage $contactMessage, EntityManagerInterface $entityManager): Response { if (!$contactMessage->isRead()) { $contactMessage->setReadAt(new \DateTimeImmutable()); $entityManager->flush(); } return $this->render('game/admin/contact/show.html.twig', [ 'message' => $contactMessage, ]); } #[Route('/{id}/delete', name: 'game_admin_contact_delete', methods: ['POST'])] public function delete(ContactMessage $contactMessage, Request $request, EntityManagerInterface $entityManager): Response { if (!$this->isCsrfTokenValid('delete_contact_' . $contactMessage->getId(), $request->request->get('_token'))) { $this->addFlash('danger', 'Invalid CSRF token.'); return $this->redirectToRoute('game_admin_contact'); } if (!$contactMessage->isDeleted()) { $contactMessage->setDeletedAt(new \DateTimeImmutable()); $entityManager->flush(); } $this->addFlash('success', sprintf('Message from "%s" deleted.', $contactMessage->getName())); return $this->redirectToRoute('game_admin_contact'); } }