From 97554728335218b096ffd5add5555e4f1bb798fd Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Thu, 3 Jun 2021 13:57:57 +0200 Subject: [PATCH] add batch action --- src/Controller/Blog/CategoryAdminController.php | 10 ++++++++++ src/Controller/Blog/CommentAdminController.php | 13 +++++++++++++ src/Controller/Blog/PostAdminController.php | 9 +++++++++ 3 files changed, 32 insertions(+) diff --git a/src/Controller/Blog/CategoryAdminController.php b/src/Controller/Blog/CategoryAdminController.php index 2481452..7f0a132 100644 --- a/src/Controller/Blog/CategoryAdminController.php +++ b/src/Controller/Blog/CategoryAdminController.php @@ -37,6 +37,8 @@ class CategoryAdminController extends CrudController ->setPageRoute('show', 'admin_blog_category_show') ->setPageRoute('delete', 'admin_blog_category_delete') ->setPageRoute('filter', 'admin_blog_category_filter') + ->setPageRoute('batch', 'admin_blog_category_batch') + ->setForm('edit', CategoryType::class, []) ->setForm('new', CategoryType::class) @@ -121,6 +123,14 @@ class CategoryAdminController extends CrudController return $this->doDelete($entity, $entityManager, $request); } + /** + * @Route("/admin/blog_category/batch/{page}", name="admin_blog_category_batch", methods={"POST"}, requirements={"page":"\d+"}) + */ + public function batch(int $page = 1, RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session): Response + { + return $this->doBatch($page, $query, $entityManager, $request, $session); + } + public function getSection(): string { return 'blog_category'; diff --git a/src/Controller/Blog/CommentAdminController.php b/src/Controller/Blog/CommentAdminController.php index e89a72e..771326f 100644 --- a/src/Controller/Blog/CommentAdminController.php +++ b/src/Controller/Blog/CommentAdminController.php @@ -35,6 +35,7 @@ class CommentAdminController extends CrudController ->setPageRoute('show', 'admin_blog_comment_show') ->setPageRoute('delete', 'admin_blog_comment_delete') ->setPageRoute('filter', 'admin_blog_comment_filter') + ->setPageRoute('batch', 'admin_blog_comment_batch') ->setForm('edit', CommentType::class, []) ->setForm('filter', CommentFilterType::class, []) @@ -60,6 +61,10 @@ class CommentAdminController extends CrudController 'view' => 'blog/comment_admin/field/status.html.twig', 'attr' => ['class' => 'miw-100'], ]) + + ->setBatchAction('index', 'delete', 'Delete', function(EntityInterface $entity, EntityManager $manager) { + $manager->delete($entity); + }) ; } @@ -103,6 +108,14 @@ class CommentAdminController extends CrudController return $this->doDelete($entity, $entityManager, $request); } + /** + * @Route("/admin/blog_comment/batch/{page}", name="admin_blog_comment_batch", methods={"POST"}, requirements={"page":"\d+"}) + */ + public function batch(int $page = 1, RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session): Response + { + return $this->doBatch($page, $query, $entityManager, $request, $session); + } + public function getSection(): string { return 'blog_comment'; diff --git a/src/Controller/Blog/PostAdminController.php b/src/Controller/Blog/PostAdminController.php index cd7c4f5..4acfcd2 100644 --- a/src/Controller/Blog/PostAdminController.php +++ b/src/Controller/Blog/PostAdminController.php @@ -39,6 +39,7 @@ class PostAdminController extends CrudController ->setPageRoute('show', 'admin_blog_post_show') ->setPageRoute('delete', 'admin_blog_post_delete') ->setPageRoute('filter', 'admin_blog_post_filter') + ->setPageRoute('batch', 'admin_blog_post_batch') ->setForm('new', PostType::class, []) ->setForm('edit', PostType::class, []) @@ -136,6 +137,14 @@ class PostAdminController extends CrudController return $this->doShow($entity); } + /** + * @Route("/admin/blog_post/batch/{page}", name="admin_blog_post_batch", methods={"POST"}, requirements={"page":"\d+"}) + */ + public function batch(int $page = 1, RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session): Response + { + return $this->doBatch($page, $query, $entityManager, $request, $session); + } + /** * @Route("/fetch_quick_data/{entity}", name="admin_blog_post_fetch_quick_data") */