/** * creates a new playlist for user and adds episode */ public function newPlaylist($name, $user, $uniqID) { $playlist = new Playlist(); $playlist->setUser($user); $playlist->setName($name); $episode = $this->em->getRepository('AppBundle:Episode')->findOneBy(['uniqID' => $uniqID]); $playlistItem = new PlaylistItem(); $playlistItem->setEpisode($episode); $playlist->addItem($playlistItem); $this->em->persist($playlist); $this->em->persist($playlistItem); $this->em->flush(); }
/** * @Route("/channel/{uniqID}/playlist/new", name="oktothek_channel_playlist_new") * @Template() */ public function newPlaylistAction(Request $request, Series $series) { $this->denyAccessUnlessGranted('edit_channel', $series); $playlist = new Playlist(); $playlist->setUser($this->getUser()); $playlist->setSeries($series); $form = $this->createForm(PlaylistUserType::class, $playlist); $form->add('submit', SubmitType::class, ['label' => 'oktothek.playlist_create_button', 'attr' => ['class' => 'btn btn-primary']]); if ($request->getMethod() == "POST") { //sends form $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); if ($form->get('submit')->isClicked()) { // update post $em->persist($playlist); $em->flush(); $this->get('session')->getFlashBag()->add('success', 'oktothek.success_edit_playlist'); return $this->redirect($this->generateUrl('oktothek_show_playlist', ['uniqID' => $playlist->getUniqID()])); } } else { $this->get('session')->getFlashBag()->add('error', 'oktothek.error_edit_playlist'); } } return ['form' => $form->createView(), 'series' => $series]; }