entityManager = $entityManager; } #[Route('/', name: 'homepage')] public function index(Environment $twig, OfferingRepository $offeringRepository): Response { return new Response($twig->render('app/index.html.twig', [ 'offerings' => $offeringRepository->findAll(), ])); } #[Route('/user', name: 'user_page')] public function user(): Response { return $this->render('app/user.html.twig', [ 'user' => $this->getUser(), ]); } #[Route('/new', name: 'new_listing')] public function new_listing(Request $request): Response { $offering = new Offering(); $form = $this->createForm(OfferingFormType::class, $offering); $user = $this->getUser(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $offering->setByUser($user); $offering->setCreatedAt(new \DateTime()); $this->entityManager->persist($offering); $this->entityManager->flush(); $this->addFlash("success", "Successfully added the new offering!"); return $this->redirectToRoute('homepage'); } return $this->render('app/new_listing.html.twig', [ 'user' => $this->getUser(), 'offering_form' => $form->createView(), ]); } }