Example #1
0
 /**
  * @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()];
 }