From 145e3225bdfff1e6cc3a1381e09124154c214f13 Mon Sep 17 00:00:00 2001 From: Alex Zamponi <562324+alexz707@users.noreply.github.com> Date: Fri, 21 Feb 2025 12:24:27 +0100 Subject: [PATCH 1/5] Remove deprecated config setting enable_authenticator_manager --- .github/ci/files/config/packages/security.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/ci/files/config/packages/security.yaml b/.github/ci/files/config/packages/security.yaml index df3e2daf..fb81386f 100644 --- a/.github/ci/files/config/packages/security.yaml +++ b/.github/ci/files/config/packages/security.yaml @@ -1,6 +1,4 @@ security: - enable_authenticator_manager: true - providers: pimcore_admin: id: Pimcore\Security\User\UserProvider From 43420076f9604dda236b865b24b7daafdfb936d4 Mon Sep 17 00:00:00 2001 From: Alex Zamponi <562324+alexz707@users.noreply.github.com> Date: Tue, 11 Mar 2025 12:08:45 +0100 Subject: [PATCH 2/5] Change to attributes --- src/Controller/AdminOrderController.php | 34 ++++-------------- src/Controller/ConfigController.php | 11 ++---- src/Controller/IndexController.php | 26 ++++---------- src/Controller/PricingController.php | 47 +++++++------------------ src/Controller/VoucherController.php | 19 ++++------ 5 files changed, 35 insertions(+), 102 deletions(-) diff --git a/src/Controller/AdminOrderController.php b/src/Controller/AdminOrderController.php index 8cc3cc92..2897af68 100644 --- a/src/Controller/AdminOrderController.php +++ b/src/Controller/AdminOrderController.php @@ -44,7 +44,7 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Event\ControllerEvent; -use Symfony\Component\Routing\Annotation\Route; +use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Translation\LocaleAwareInterface; use Symfony\Contracts\Translation\TranslatorInterface; @@ -52,10 +52,8 @@ * Class AdminOrderController * * @internal - * - * @Route("/admin-order") - * */ +#[Route('/admin-order')] class AdminOrderController extends UserAwareController implements KernelControllerEventInterface { protected OrderManagerInterface $orderManager; @@ -88,11 +86,7 @@ public function onKernelControllerEvent(ControllerEvent $event): void $this->paymentManager = Factory::getInstance()->getPaymentManager(); } - /** - * @Route("/list", name="pimcore_ecommerce_backend_admin-order_list", methods={"GET"}) - * - * - */ + #[Route('/list', name: 'pimcore_ecommerce_backend_admin-order_list', methods: ['GET'])] public function listAction(Request $request, IntlFormatter $formatter, PaginatorInterface $paginator): Response { // create new order list @@ -191,11 +185,7 @@ public function listAction(Request $request, IntlFormatter $formatter, Paginator ]); } - /** - * @Route("/detail", name="pimcore_ecommerce_backend_admin-order_detail", methods={"GET"}) - * - * - */ + #[Route('/detail', name: 'pimcore_ecommerce_backend_admin-order_detail', methods: ['GET'])] public function detailAction( Request $request, ClientInterface $client, @@ -372,11 +362,7 @@ public function detailAction( ]); } - /** - * @Route("/item-cancel", name="pimcore_ecommerce_backend_admin-order_item-cancel", methods={"GET", "POST"}) - * - * - */ + #[Route('/item-cancel', name: 'pimcore_ecommerce_backend_admin-order_item-cancel', methods: ['GET', 'POST'])] public function itemCancelAction(Request $request, CsrfProtectionHandler $csrfProtection): Response { // init @@ -409,10 +395,7 @@ public function itemCancelAction(Request $request, CsrfProtectionHandler $csrfPr ]); } - /** - * @Route("/item-edit", name="pimcore_ecommerce_backend_admin-order_item-edit", methods={"GET", "POST"}) - * - */ + #[Route('/item-edit', name: 'pimcore_ecommerce_backend_admin-order_item-edit', methods: ['GET', 'POST'])] public function itemEditAction(Request $request, CsrfProtectionHandler $csrfProtectionHandler): Response { // init @@ -444,10 +427,7 @@ public function itemEditAction(Request $request, CsrfProtectionHandler $csrfProt ]); } - /** - * @Route("/item-complaint", name="pimcore_ecommerce_backend_admin-order_item-complaint", methods={"GET", "POST"}) - * - */ + #[Route('/item-complaint', name: 'pimcore_ecommerce_backend_admin-order_item-complaint', methods: ['GET', 'POST'])] public function itemComplaintAction(Request $request, CsrfProtectionHandler $csrfProtectionHandler): Response { // init diff --git a/src/Controller/ConfigController.php b/src/Controller/ConfigController.php index 45a9f180..5e37b713 100644 --- a/src/Controller/ConfigController.php +++ b/src/Controller/ConfigController.php @@ -20,16 +20,14 @@ use Pimcore\Controller\UserAwareController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Event\ControllerEvent; -use Symfony\Component\Routing\Annotation\Route; +use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Routing\RouterInterface; /** * Class ConfigController - * - * @Route("/config") - * * @internal */ +#[Route('/config')] class ConfigController extends UserAwareController implements KernelControllerEventInterface { /** @@ -46,10 +44,7 @@ public function onKernelControllerEvent(ControllerEvent $event): void $this->checkPermission('bundle_ecommerce_back-office_order'); } - /** - * @Route("/js-config", name="pimcore_ecommerceframework_config_jsconfig", methods={"GET"}) - * - */ + #[Route('/js-config', name: 'pimcore_ecommerceframework_config_jsconfig', methods: ['GET'])] public function jsConfigAction(): Response { $config = $this->getParameter('pimcore_ecommerce.pimcore.config'); diff --git a/src/Controller/IndexController.php b/src/Controller/IndexController.php index 3e250e32..f674f7f8 100644 --- a/src/Controller/IndexController.php +++ b/src/Controller/IndexController.php @@ -26,17 +26,16 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Event\ControllerEvent; -use Symfony\Component\Routing\Annotation\Route; +use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; use Symfony\Contracts\Translation\TranslatorInterface; /** * Class IndexController * - * @Route("/index") - * * @internal */ +#[Route('/index')] class IndexController extends UserAwareController implements KernelControllerEventInterface { use JsonHelperTrait; @@ -46,10 +45,7 @@ public function onKernelControllerEvent(ControllerEvent $event): void $this->checkPermission('bundle_ecommerce_back-office_order'); } - /** - * @Route("/get-filter-groups", name="pimcore_ecommerceframework_index_getfiltergroups", methods={"GET"}) - * - */ + #[Route('/get-filter-groups', name: 'pimcore_ecommerceframework_index_getfiltergroups', methods: ['GET'])] public function getFilterGroupsAction(): JsonResponse { $indexService = Factory::getInstance()->getIndexService(); @@ -73,9 +69,7 @@ public function getFilterGroupsAction(): JsonResponse return $this->jsonResponse(['data' => array_values($data)]); } - /** - * @Route("/get-values-for-filter-field", name="pimcore_ecommerceframework_index_getvaluesforfilterfield", methods={"GET"}) - */ + #[Route('/get-values-for-filter-field', name: 'pimcore_ecommerceframework_index_getvaluesforfilterfield', methods: ['GET'])] public function getValuesForFilterFieldAction(Request $request, EventDispatcherInterface $eventDispatcher): JsonResponse { try { @@ -119,11 +113,7 @@ public function getValuesForFilterFieldAction(Request $request, EventDispatcherI } } - /** - * @Route("/get-fields", name="pimcore_ecommerceframework_index_getfields", methods={"GET"}) - * - * - */ + #[Route('/get-fields', name: 'pimcore_ecommerceframework_index_getfields', methods: ['GET'])] public function getFieldsAction(Request $request, EventDispatcherInterface $eventDispatcher, TranslatorInterface $translator): JsonResponse { $indexService = Factory::getInstance()->getIndexService(); @@ -173,11 +163,7 @@ public function getFieldsAction(Request $request, EventDispatcherInterface $even return $this->jsonResponse(['data' => array_values($data)]); } - /** - * @Route("/get-all-tenants", name="pimcore_ecommerceframework_index_getalltenants", methods={"GET"}) - * - * - */ + #[Route('/get-all-tenants', name: 'pimcore_ecommerceframework_index_getalltenants', methods: ['GET'])] public function getAllTenantsAction(TranslatorInterface $translator): JsonResponse { $tenants = Factory::getInstance()->getAllTenants(); diff --git a/src/Controller/PricingController.php b/src/Controller/PricingController.php index 97cba80a..37ddcd60 100644 --- a/src/Controller/PricingController.php +++ b/src/Controller/PricingController.php @@ -27,15 +27,14 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Event\ControllerEvent; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; -use Symfony\Component\Routing\Annotation\Route; +use Symfony\Component\Routing\Attribute\Route; /** * Class ConfigController * - * @Route("/pricing") - * * @internal */ +#[Route('/pricing')] class PricingController extends UserAwareController implements KernelControllerEventInterface { use JsonHelperTrait; @@ -46,9 +45,7 @@ public function onKernelControllerEvent(ControllerEvent $event): void $this->checkPermission('bundle_ecommerce_pricing_rules'); } - /** - * @Route("/list", name="pimcore_ecommerceframework_pricing_list", methods={"GET"}) - */ + #[Route('/list', name: 'pimcore_ecommerceframework_pricing_list', methods: ['GET'])] public function listAction(): JsonResponse { $rules = new Rule\Listing(); @@ -81,12 +78,10 @@ public function listAction(): JsonResponse } /** - * get priceing rule details as json - * - * @Route("/get", name="pimcore_ecommerceframework_pricing_get", methods={"GET"}) - * + * get pricing rule details as json * @throws NotFoundHttpException */ + #[Route('/get', name: 'pimcore_ecommerceframework_pricing_get', methods: ['GET'])] public function getAction(Request $request): JsonResponse { $rule = Rule::getById((int) $request->get('id')); @@ -125,11 +120,8 @@ public function getAction(Request $request): JsonResponse /** * add new rule - * - * @Route("/add", name="pimcore_ecommerceframework_pricing_add", methods={"POST"}) - * - * */ + #[Route('/add', name: 'pimcore_ecommerceframework_pricing_add', methods: ['POST'])] public function addAction(Request $request): JsonResponse { // send json respone @@ -156,11 +148,8 @@ public function addAction(Request $request): JsonResponse /** * delete exiting rule - * - * @Route("/delete", name="pimcore_ecommerceframework_pricing_delete", methods={"DELETE"}) - * - * */ + #[Route('/delete', name: 'pimcore_ecommerceframework_pricing_delete', methods: ['DELETE'])] public function deleteAction(Request $request): JsonResponse { // send json respone @@ -183,11 +172,10 @@ public function deleteAction(Request $request): JsonResponse } /** - * @Route("/copy", name="pimcore_ecommerceframework_pricing_copy", methods={"POST"}) - * * @return JsonResponse * copy existing rule */ + #[Route('/copy', name: 'pimcore_ecommerceframework_pricing_copy', methods: ['POST'])] public function copyAction(Request $request): JsonResponse { // send json respone @@ -234,11 +222,10 @@ public function copyAction(Request $request): JsonResponse } /** - * @Route("/rename", name="pimcore_ecommerceframework_pricing_rename", methods={"PUT"}) - * * @return JsonResponse * rename exiting rule */ + #[Route('/rename', name: 'pimcore_ecommerceframework_pricing_rename', methods: ['PUT'])] public function renameAction(Request $request): JsonResponse { // send json respone @@ -280,11 +267,8 @@ public function renameAction(Request $request): JsonResponse /** * save rule config - * - * @Route("/save", name="pimcore_ecommerceframework_pricing_save", methods={"PUT"}) - * - * */ + #[Route('/save', name: 'pimcore_ecommerceframework_pricing_save', methods: ['PUT'])] public function saveAction(Request $request): JsonResponse { // send json respone @@ -370,11 +354,7 @@ public function saveAction(Request $request): JsonResponse return $this->jsonResponse($return); } - /** - * @Route("/save-order", name="pimcore_ecommerceframework_pricing_save-order", methods={"PUT"}) - * - * - */ + #[Route('/save-order', name: 'pimcore_ecommerceframework_pricing_save-order', methods: ['PUT'])] public function saveOrderAction(Request $request): JsonResponse { // send json respone @@ -397,10 +377,7 @@ public function saveOrderAction(Request $request): JsonResponse return $this->jsonResponse($return); } - /** - * @Route("/get-config", name="pimcore_ecommerceframework_pricing_get-config", methods={"GET"}) - * - */ + #[Route('/get-config', name: 'pimcore_ecommerceframework_pricing_get-config', methods: ['GET'])] public function getConfigAction(): JsonResponse { $pricingManager = Factory::getInstance()->getPricingManager(); diff --git a/src/Controller/VoucherController.php b/src/Controller/VoucherController.php index d4168888..3e4ab729 100644 --- a/src/Controller/VoucherController.php +++ b/src/Controller/VoucherController.php @@ -26,17 +26,15 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Event\ControllerEvent; -use Symfony\Component\Routing\Annotation\Route; +use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Translation\LocaleAwareInterface; use Symfony\Contracts\Translation\TranslatorInterface; /** * Class VoucherController - * - * @Route("/voucher") - * * @internal */ +#[Route('/voucher')] class VoucherController extends UserAwareController implements KernelControllerEventInterface { protected TokenStorageUserResolver $tokenResolver; @@ -71,8 +69,8 @@ public function onKernelControllerEvent(ControllerEvent $event): void /** * Loads and shows voucherservice backend tab * - * @Route("/voucher-code-tab", name="pimcore_ecommerce_backend_voucher_voucher-code-tab", methods={"GET"}) */ + #[Route('/voucher-code-tab', name: 'pimcore_ecommerce_backend_voucher_voucher-code-tab', methods: ['GET'])] public function voucherCodeTabAction(Request $request): Response { $onlineShopVoucherSeries = OnlineShopVoucherSeries::getById((int) $request->get('id')); @@ -103,8 +101,8 @@ public function voucherCodeTabAction(Request $request): Response /** * Export tokens to file. The action should implement all export formats defined in ExportableTokenManagerInterface. * - * @Route("/export-tokens", name="pimcore_ecommerce_backend_voucher_export-tokens", methods={"GET"}) */ + #[Route('/export-tokens', name: 'pimcore_ecommerce_backend_voucher_export-tokens', methods: ['GET'])] public function exportTokensAction(Request $request): Response { $onlineShopVoucherSeries = OnlineShopVoucherSeries::getById((int) $request->get('id')); @@ -157,8 +155,8 @@ public function exportTokensAction(Request $request): Response /** * Generates new Tokens or Applies single token settings. * - * @Route("/generate", name="pimcore_ecommerce_backend_voucher_generate", methods={"GET"}) */ + #[Route('/generate', name: 'pimcore_ecommerce_backend_voucher_generate', methods: ['GET'])] public function generateAction(Request $request): Response { $onlineShopVoucherSeries = OnlineShopVoucherSeries::getById((int) $request->get('id')); @@ -189,9 +187,8 @@ public function generateAction(Request $request): Response /** * Removes tokens due to given filter parameters. - * - * @Route("/cleanup", name="pimcore_ecommerce_backend_voucher_cleanup", methods={"POST"}) */ + #[Route('/cleanup', name: 'pimcore_ecommerce_backend_voucher_cleanup', methods: ['POST'])] public function cleanupAction(Request $request): Response { $onlineShopVoucherSeries = OnlineShopVoucherSeries::getById((int) $request->get('id')); @@ -224,10 +221,8 @@ public function cleanupAction(Request $request): Response /** * Removes token reservations due to given duration. - * - * @Route("/cleanup-reservations", name="pimcore_ecommerce_backend_voucher_cleanup-reservations", methods={"POST"}) - * */ + #[Route('/cleanup-reservations', name: 'pimcore_ecommerce_backend_voucher_cleanup-reservations', methods: ['POST'])] public function cleanupReservationsAction(Request $request): \Symfony\Component\HttpFoundation\RedirectResponse { $duration = $request->get('duration'); From eaa97b6ee63cc51468653596d8e6bfb13b77d497 Mon Sep 17 00:00:00 2001 From: Alex Zamponi <562324+alexz707@users.noreply.github.com> Date: Tue, 11 Mar 2025 14:43:22 +0100 Subject: [PATCH 3/5] Change to attributes --- doc/13_Checkout_Manager/07_Integrating_Payment.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/doc/13_Checkout_Manager/07_Integrating_Payment.md b/doc/13_Checkout_Manager/07_Integrating_Payment.md index ce2c3672..6c992840 100644 --- a/doc/13_Checkout_Manager/07_Integrating_Payment.md +++ b/doc/13_Checkout_Manager/07_Integrating_Payment.md @@ -8,9 +8,7 @@ in [Committing Orders](./05_Committing_Orders.md), a few more steps are necessar After all checkout steps are completed, the payment can be started. This is done as follows: ```php -/** - * @Route("/checkout-init-payment", name="shop-checkout-init-payment") - */ +#[Route('/checkout-init-payment', name: 'shop-checkout-init-payment')] public function initPaymentAction(Request $request, Factory $factory) { // ... do some stuff, and get $cart @@ -56,9 +54,7 @@ as follows. If payment handling was successful, the order needs to be committed. A client side handling could look like as follows: ```php -/** - * @Route("/checkout-payment-response", name="shop-checkout-payment-response") - */ +#[Route('/checkout-payment-response', name: 'shop-checkout-payment-response')] public function paymentResponseAction(Request $request, Factory $factory, RequestStack $requestStack) { // ... do some stuff, and get $cart From db8f76dd72e34b831a70d2f58719bd6457a02ad3 Mon Sep 17 00:00:00 2001 From: alexz707 <562324+alexz707@users.noreply.github.com> Date: Fri, 21 Mar 2025 11:36:53 +0000 Subject: [PATCH 4/5] Apply php-cs-fixer changes --- src/Controller/ConfigController.php | 1 + src/Controller/PricingController.php | 1 + src/Controller/VoucherController.php | 1 + 3 files changed, 3 insertions(+) diff --git a/src/Controller/ConfigController.php b/src/Controller/ConfigController.php index 5e37b713..5db54a15 100644 --- a/src/Controller/ConfigController.php +++ b/src/Controller/ConfigController.php @@ -25,6 +25,7 @@ /** * Class ConfigController + * * @internal */ #[Route('/config')] diff --git a/src/Controller/PricingController.php b/src/Controller/PricingController.php index 37ddcd60..1e911c44 100644 --- a/src/Controller/PricingController.php +++ b/src/Controller/PricingController.php @@ -79,6 +79,7 @@ public function listAction(): JsonResponse /** * get pricing rule details as json + * * @throws NotFoundHttpException */ #[Route('/get', name: 'pimcore_ecommerceframework_pricing_get', methods: ['GET'])] diff --git a/src/Controller/VoucherController.php b/src/Controller/VoucherController.php index 3e4ab729..fe18bda7 100644 --- a/src/Controller/VoucherController.php +++ b/src/Controller/VoucherController.php @@ -32,6 +32,7 @@ /** * Class VoucherController + * * @internal */ #[Route('/voucher')] From a2c8f66cfcb4cb35c1c1cd69e1c9eb850cd2309e Mon Sep 17 00:00:00 2001 From: Alex Zamponi <562324+alexz707@users.noreply.github.com> Date: Fri, 21 Mar 2025 12:56:08 +0100 Subject: [PATCH 5/5] fix length --- src/Controller/IndexController.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Controller/IndexController.php b/src/Controller/IndexController.php index f674f7f8..28d279f9 100644 --- a/src/Controller/IndexController.php +++ b/src/Controller/IndexController.php @@ -69,7 +69,11 @@ public function getFilterGroupsAction(): JsonResponse return $this->jsonResponse(['data' => array_values($data)]); } - #[Route('/get-values-for-filter-field', name: 'pimcore_ecommerceframework_index_getvaluesforfilterfield', methods: ['GET'])] + #[Route( + '/get-values-for-filter-field', + name: 'pimcore_ecommerceframework_index_getvaluesforfilterfield', + methods: ['GET'] + )] public function getValuesForFilterFieldAction(Request $request, EventDispatcherInterface $eventDispatcher): JsonResponse { try {