Styled book form and added an ux dropzone component.
This commit is contained in:
@@ -7,14 +7,13 @@ use App\Entity\File;
|
||||
use App\Form\BookType;
|
||||
use App\Repository\BookRepository;
|
||||
use App\Repository\FileRepository;
|
||||
use App\Service\FileService;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Techtube\Bookinfo\BookFinder;
|
||||
use Techtube\Bookinfo\DataParser;
|
||||
|
||||
#[Route('/book')]
|
||||
class BookController extends AbstractController
|
||||
@@ -143,10 +142,12 @@ class BookController extends AbstractController
|
||||
}
|
||||
|
||||
#[Route('/{id}', name: 'app_book_delete', methods: ['POST'])]
|
||||
public function delete(Request $request, Book $book, BookRepository $bookRepository): Response
|
||||
public function delete(Request $request, Book $book, BookRepository $bookRepository, FileService $fileService): Response
|
||||
{
|
||||
if ($this->isCsrfTokenValid('delete' . $book->getId(), $request->request->get('_token'))) {
|
||||
$fileService->removeFiles($book->getFiles());
|
||||
$bookRepository->remove($book, true);
|
||||
|
||||
}
|
||||
|
||||
return $this->redirectToRoute('app_book_index', [], Response::HTTP_SEE_OTHER);
|
||||
|
||||
@@ -11,6 +11,7 @@ use Symfony\Component\Form\Extension\Core\Type\IntegerType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\UX\Dropzone\Form\DropzoneType;
|
||||
|
||||
class BookType extends AbstractType
|
||||
{
|
||||
@@ -52,9 +53,9 @@ class BookType extends AbstractType
|
||||
'required' => false,
|
||||
'attr' => ['accept' => ".pdf, .epub, .mobi"]
|
||||
])
|
||||
->add('cover', FileType::class, ['mapped' => false, 'data_class' => null, 'required' => false])
|
||||
// ->add('cover', FileType::class, ['mapped' => false, 'data_class' => null, 'required' => false])
|
||||
->add('cover_url', TextType::class, ['mapped' => false, 'help' => 'Fill in the field with a link to a cover image to use it as a cover for the book.', 'label'=> 'Cover url', 'required' => false])
|
||||
|
||||
->add('cover', DropzoneType::class, ['mapped' => false, 'data_class' => null, 'required' => false, 'attr' => ['data-controller' => 'mydropzone', 'accept' => "image/*", 'placeholder' => 'Drag and drop or browse']])
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user