/**
  * @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;
 }