/** * @Route("/book/create", name="book-create") */ public function createAction(Request $request) { $entityManager = $this->getDoctrine()->getManager(); $bookData = $request->get('book'); $book = new Book(); $book->setTitle(isset($bookData['title']) ? $bookData['title'] : ''); $book->setAuthors(isset($bookData['authors']) ? $bookData['authors'] : ''); $book->setEditor(isset($bookData['editor']) ? $bookData['editor'] : ''); $book->setIsbn(isset($bookData['isbn']) ? $bookData['isbn'] : ''); $book->setCover(isset($bookData['cover']) ? $bookData['cover'] : ''); $book->setFile(isset($bookData['file']) ? $bookData['file'] : ''); $book->setUser($this->getUser()); $entityManager->persist($book); $entityManager->flush(); $package = new BookPackage($book); $package->setBooksFolderPath($this->container->getParameter('books_dir')); $package->setTemplateFolderPath($this->container->getParameter('book_template_dir')); $package->setTmpFolderPath($this->container->getParameter('book_tmp_dir')); $package->updateBookSlug(); $package->createBootstrapFiles(); $package->pack(); $entityManager->persist($book); $entityManager->flush(); $response = array('status' => 'success', 'data' => array('slug' => $book->getSlug())); return new JsonResponse($response); }
public function createFixtureBookWithFile() { $book = new Book(); $book->setTitle('Unit test book'); $book->setAuthors('Unit test authors'); $book->setFile('file-path'); $this->entityManager->persist($book); $this->entityManager->flush(); return $book; }