/** * @Extra\Route("/announcements/{id}/implement", name="EventFromAnnouncement") * @Extra\Template("admin/raw-form.html.twig") * @Extra\ParamConverter */ public function eventFromAnnouncementAction(Request $request, Entity\Announcement $announcement) { $event = Entity\Event::fromAnnouncement($announcement); $this->get("doctrine.orm.entity_manager")->persist($event); $form = $this->createForm(EventFromAnnouncementType::class, $event); if ($request->isMethod('POST')) { $form->handleRequest($request); if ($form->isValid()) { $this->get("doctrine.orm.entity_manager")->persist($form->getData()); $this->get("doctrine.orm.entity_manager")->remove($announcement); $this->get("doctrine.orm.entity_manager")->flush(); $this->addFlash('success', 'Встреча создана'); } else { $this->addFlash('error', 'Не удалось создать встречу'); } return $this->redirectToRoute('AdminAnnouncements'); } return ['form' => $form->createView()]; }