/** * Add new video * @param Request $request * @param Accommodation $accommodation * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function videoNewAction(Request $request, Accommodation $accommodation) { $session = $request->getSession(); if ($accommodation->getVideos()->count() >= 5) { $session->getFlashBag()->add('msgError', $this->get('translator')->trans('video_limit_reached')); if ($request->get('_route') == 'app_video_step6_new') { return $this->redirect($this->generateUrl('app_profile_step_6', array('id' => $accommodation->getId()))); } else { return $this->redirect($this->generateUrl('app_accommodation_edit', array('id' => $accommodation->getId()))); } } $em = $this->getDoctrine()->getManager(); $video = new Video(); $form = $this->createForm(new VideoType(), $video); $form->handleRequest($request); if ($form->isValid()) { $video->setAccommodation($accommodation); $em->persist($video); $em->flush(); $session->getFlashBag()->add('msgSuccess', $this->get('translator')->trans('create_success')); return $this->redirect($this->generateUrl('admin_accommodation_edit', array('id' => $accommodation->getId()))); } $session->getFlashBag()->add('msgError', $this->get('translator')->trans('create_error')); return $this->redirect($this->generateUrl('admin_accommodation_edit', array('id' => $accommodation->getId()))); }