From 14ca08dd27c6de730f313ef4eb81bc911fe700c8 Mon Sep 17 00:00:00 2001 From: Yi-Jyun Pan Date: Mon, 11 Nov 2024 15:28:39 +0800 Subject: [PATCH] revert: Use pretty path in EasyAdmin Incompatible with FrankenPHP currently :( This reverts commit 7e2f1b44d379c8648f36c99fefc8e2f21ed89ec6. --- config/routes/easyadmin.yaml | 3 --- src/Controller/Admin/DashboardController.php | 10 +++++++++- .../FeedbackCreatedListenerSubscriber.php | 15 +++++++++------ 3 files changed, 18 insertions(+), 10 deletions(-) delete mode 100644 config/routes/easyadmin.yaml diff --git a/config/routes/easyadmin.yaml b/config/routes/easyadmin.yaml deleted file mode 100644 index f409de2..0000000 --- a/config/routes/easyadmin.yaml +++ /dev/null @@ -1,3 +0,0 @@ -easyadmin: - resource: . - type: easyadmin.routes diff --git a/src/Controller/Admin/DashboardController.php b/src/Controller/Admin/DashboardController.php index fb7b02a..bb69429 100644 --- a/src/Controller/Admin/DashboardController.php +++ b/src/Controller/Admin/DashboardController.php @@ -18,15 +18,23 @@ use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard; use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem; use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController; +use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class DashboardController extends AbstractDashboardController { + public function __construct( + private readonly AdminUrlGenerator $adminUrlGenerator, + ) { + } + #[Route('/admin', name: 'admin')] public function index(): Response { - return $this->redirectToRoute('admin_user_index'); + return $this->redirect( + $this->adminUrlGenerator->setController(UserCrudController::class)->generateUrl() + ); } public function configureDashboard(): Dashboard diff --git a/src/EventSubscriber/FeedbackCreatedListenerSubscriber.php b/src/EventSubscriber/FeedbackCreatedListenerSubscriber.php index 758bee7..b39f72a 100644 --- a/src/EventSubscriber/FeedbackCreatedListenerSubscriber.php +++ b/src/EventSubscriber/FeedbackCreatedListenerSubscriber.php @@ -4,13 +4,14 @@ namespace App\EventSubscriber; +use App\Controller\Admin\FeedbackCrudController; use App\Entity\Feedback; use Doctrine\Bundle\DoctrineBundle\Attribute\AsEntityListener; use Doctrine\ORM\Events; +use EasyCorp\Bundle\EasyAdminBundle\Config\Action; +use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator; use Symfony\Component\Notifier\Notification\Notification; use Symfony\Component\Notifier\NotifierInterface; -use Symfony\Component\Routing\Generator\UrlGeneratorInterface; -use Symfony\Component\Routing\RouterInterface; use Symfony\Contracts\Translation\TranslatorInterface; #[AsEntityListener(event: Events::postPersist, method: 'onFeedbackCreated', entity: Feedback::class)] @@ -19,7 +20,7 @@ public function __construct( private NotifierInterface $notifier, private TranslatorInterface $translator, - private RouterInterface $router, + private AdminUrlGenerator $adminUrlGenerator, ) { } @@ -32,9 +33,11 @@ public function onFeedbackCreated(Feedback $feedback): void '%account%' => $feedback->getSender()?->getUserIdentifier() ?? $this->translator->trans('notification.on-feedback-created.anonymous'), '%subject%' => $feedback->getTitle(), - '%link%' => $this->router->generate('admin_feedback_detail', [ - 'entityId' => $feedback->getId(), - ], UrlGeneratorInterface::ABSOLUTE_URL), + '%link%' => $this->adminUrlGenerator->unsetAll() + ->setController(FeedbackCrudController::class) + ->setAction(Action::DETAIL) + ->setEntityId($feedback->getId()) + ->generateUrl(), ]); $this->notifier->send((new Notification($notificationContent))->channels(['chat/linenotify']));