mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 17:10:53 +00:00
[Maintenance] Less referrer usage in static redirects
This commit is contained in:
parent
cc099118cd
commit
dc61d08b21
15 changed files with 70 additions and 23 deletions
|
|
@ -25,6 +25,7 @@ use Symfony\Component\HttpFoundation\Response;
|
|||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
use Symfony\Component\Routing\RouterInterface;
|
||||
use Symfony\Component\Security\Csrf\CsrfToken;
|
||||
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
|
||||
|
||||
|
|
@ -35,6 +36,7 @@ final class ResendOrderConfirmationEmailAction
|
|||
private OrderEmailManagerInterface|ResendOrderConfirmationEmailDispatcherInterface $orderEmailManager,
|
||||
private CsrfTokenManagerInterface $csrfTokenManager,
|
||||
private RequestStack|SessionInterface $requestStackOrSession,
|
||||
private ?RouterInterface $router = null,
|
||||
) {
|
||||
if ($this->requestStackOrSession instanceof SessionInterface) {
|
||||
trigger_deprecation(
|
||||
|
|
@ -63,6 +65,16 @@ final class ResendOrderConfirmationEmailAction
|
|||
'The argument name $orderEmailManager is deprecated and will be renamed to $resendOrderConfirmationEmailDispatcher in Sylius 2.0.',
|
||||
);
|
||||
}
|
||||
|
||||
if (null === $this->router) {
|
||||
trigger_deprecation(
|
||||
'sylius/admin-bundle',
|
||||
'1.14',
|
||||
'Passing null as constructor argument for $router in %s is deprecated and will be prohibited in Sylius 2.0. Pass an instance of %s instead.',
|
||||
self::class,
|
||||
RouterInterface::class,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public function __invoke(Request $request): Response
|
||||
|
|
@ -88,7 +100,7 @@ final class ResendOrderConfirmationEmailAction
|
|||
->add('success', 'sylius.email.order_confirmation_resent')
|
||||
;
|
||||
|
||||
return new RedirectResponse($request->headers->get('referer'));
|
||||
return $this->redirect($request);
|
||||
}
|
||||
|
||||
private function sendConfirmationEmailOrDispatchResendOrderConfirmation(OrderInterface $order): void
|
||||
|
|
@ -99,4 +111,15 @@ final class ResendOrderConfirmationEmailAction
|
|||
$this->orderEmailManager->dispatch($order);
|
||||
}
|
||||
}
|
||||
|
||||
private function redirect(Request $request): RedirectResponse
|
||||
{
|
||||
if (null === $this->router) {
|
||||
return new RedirectResponse($request->headers->get('referer'));
|
||||
}
|
||||
|
||||
$redirect = $request->attributes->get('_sylius', [])['redirect'] ?? 'referer';
|
||||
|
||||
return new RedirectResponse($this->router->generate($redirect));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,10 @@ final class CustomerShowMenuBuilder
|
|||
$menu
|
||||
->addChild('user_delete', [
|
||||
'route' => 'sylius_admin_shop_user_delete',
|
||||
'routeParameters' => ['id' => $customer->getUser()->getId()],
|
||||
'routeParameters' => [
|
||||
'id' => $customer->getUser()->getId(),
|
||||
'customerId' => $customer->getId(),
|
||||
],
|
||||
])
|
||||
->setAttribute('type', 'delete')
|
||||
->setAttribute('resource_id', $customer->getUser()->getId())
|
||||
|
|
|
|||
|
|
@ -23,5 +23,5 @@ sylius_admin_locale_delete:
|
|||
_controller: sylius.controller.locale::deleteAction
|
||||
_sylius:
|
||||
section: admin
|
||||
redirect: referer
|
||||
redirect: sylius_admin_locale_index
|
||||
permission: true
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ sylius_admin_order_cancel:
|
|||
state_machine:
|
||||
graph: sylius_order
|
||||
transition: cancel
|
||||
redirect: referer
|
||||
redirect: sylius_admin_order_show
|
||||
|
||||
sylius_admin_order_payment_complete:
|
||||
path: /orders/{orderId}/payments/{id}/complete
|
||||
|
|
@ -91,7 +91,10 @@ sylius_admin_order_payment_complete:
|
|||
state_machine:
|
||||
graph: sylius_payment
|
||||
transition: complete
|
||||
redirect: referer
|
||||
redirect:
|
||||
route: sylius_admin_order_show
|
||||
parameters:
|
||||
id: $orderId
|
||||
|
||||
sylius_admin_order_payment_refund:
|
||||
path: /orders/{orderId}/payments/{id}/refund
|
||||
|
|
@ -108,7 +111,10 @@ sylius_admin_order_payment_refund:
|
|||
state_machine:
|
||||
graph: sylius_payment
|
||||
transition: refund
|
||||
redirect: referer
|
||||
redirect:
|
||||
route: sylius_admin_order_show
|
||||
parameters:
|
||||
id: $orderId
|
||||
flash: sylius.payment.refunded
|
||||
|
||||
sylius_admin_order_shipment_ship:
|
||||
|
|
@ -126,7 +132,7 @@ sylius_admin_order_shipment_ship:
|
|||
state_machine:
|
||||
graph: sylius_shipment
|
||||
transition: ship
|
||||
redirect: referer
|
||||
redirect: sylius_admin_order_show
|
||||
section: admin
|
||||
permission: true
|
||||
form: Sylius\Bundle\ShippingBundle\Form\Type\ShipmentShipType
|
||||
|
|
@ -141,3 +147,5 @@ sylius_admin_order_resend_confirmation_email:
|
|||
methods: [GET]
|
||||
defaults:
|
||||
_controller: Sylius\Bundle\AdminBundle\Action\ResendOrderConfirmationEmailAction
|
||||
_sylius:
|
||||
redirect: sylius_admin_order_show
|
||||
|
|
|
|||
|
|
@ -25,5 +25,5 @@ sylius_admin_payment_complete:
|
|||
state_machine:
|
||||
graph: sylius_payment
|
||||
transition: complete
|
||||
redirect: referer
|
||||
redirect: sylius_admin_payment_index
|
||||
flash: sylius.payment.completed
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ sylius_admin_product_update:
|
|||
_sylius:
|
||||
section: admin
|
||||
permission: true
|
||||
redirect: referer
|
||||
redirect: sylius_admin_product_update
|
||||
repository:
|
||||
method: findOneByIdHydrated
|
||||
arguments: $id
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ sylius_admin_product_review_accept:
|
|||
state_machine:
|
||||
graph: sylius_product_review
|
||||
transition: accept
|
||||
redirect: referer
|
||||
redirect: sylius_admin_product_review_index
|
||||
flash: sylius.review.accept
|
||||
|
||||
sylius_admin_product_review_reject:
|
||||
|
|
@ -39,5 +39,5 @@ sylius_admin_product_review_reject:
|
|||
state_machine:
|
||||
graph: sylius_product_review
|
||||
transition: reject
|
||||
redirect: referer
|
||||
redirect: sylius_admin_product_review_index
|
||||
flash: sylius.review.reject
|
||||
|
|
|
|||
|
|
@ -78,7 +78,9 @@ sylius_admin_product_variant_bulk_delete:
|
|||
_controller: sylius.controller.product_variant::bulkDeleteAction
|
||||
_sylius:
|
||||
section: admin
|
||||
redirect: referer
|
||||
redirect:
|
||||
route: sylius_admin_product_variant_index
|
||||
parameters: { productId: $productId }
|
||||
permission: true
|
||||
repository:
|
||||
method: findById
|
||||
|
|
@ -91,7 +93,9 @@ sylius_admin_product_variant_delete:
|
|||
_controller: sylius.controller.product_variant::deleteAction
|
||||
_sylius:
|
||||
section: admin
|
||||
redirect: referer
|
||||
redirect:
|
||||
route: sylius_admin_product_variant_index
|
||||
parameters: { productId: $productId }
|
||||
permission: true
|
||||
repository:
|
||||
method: findOneByIdAndProductId
|
||||
|
|
|
|||
|
|
@ -86,7 +86,9 @@ sylius_admin_promotion_coupon_bulk_delete:
|
|||
_controller: sylius.controller.promotion_coupon::bulkDeleteAction
|
||||
_sylius:
|
||||
section: admin
|
||||
redirect: referer
|
||||
redirect:
|
||||
route: sylius_admin_promotion_coupon_index
|
||||
parameters: { promotionId: $promotionId }
|
||||
permission: true
|
||||
paginate: false
|
||||
repository:
|
||||
|
|
@ -100,5 +102,7 @@ sylius_admin_promotion_coupon_delete:
|
|||
_controller: sylius.controller.promotion_coupon::deleteAction
|
||||
_sylius:
|
||||
section: admin
|
||||
redirect: referer
|
||||
redirect:
|
||||
route: sylius_admin_promotion_coupon_index
|
||||
parameters: { promotionId: $promotionId }
|
||||
permission: true
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ sylius_admin_shipment_ship:
|
|||
state_machine:
|
||||
graph: sylius_shipment
|
||||
transition: ship
|
||||
redirect: referer
|
||||
redirect: sylius_admin_shipment_index
|
||||
flash: sylius.shipment.shipped
|
||||
form: Sylius\Bundle\ShippingBundle\Form\Type\ShipmentShipType
|
||||
|
||||
|
|
|
|||
|
|
@ -5,5 +5,7 @@ sylius_admin_shop_user_delete:
|
|||
_controller: sylius.controller.shop_user::deleteAction
|
||||
_sylius:
|
||||
section: admin
|
||||
redirect: referer
|
||||
redirect:
|
||||
route: sylius_admin_customer_show
|
||||
parameters: { id: $customerId }
|
||||
permission: true
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@
|
|||
<argument type="service" id="Sylius\Bundle\CoreBundle\MessageDispatcher\ResendOrderConfirmationEmailDispatcherInterface" />
|
||||
<argument type="service" id="security.csrf.token_manager" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument type="service" id="router" />
|
||||
</service>
|
||||
|
||||
<service id="Sylius\Bundle\AdminBundle\Action\ResendShipmentConfirmationEmailAction" public="true">
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ class ProductTaxonController extends ResourceController
|
|||
$productTaxonsPositions = $request->request->all('productTaxons');
|
||||
|
||||
if (!$this->shouldProductsPositionsBeUpdated($request, $productTaxonsPositions)) {
|
||||
return $this->redirectHandler->redirectToReferer($configuration);
|
||||
return $this->redirectHandler->redirectToIndex($configuration);
|
||||
}
|
||||
|
||||
$maxPosition = $this->getMaxPosition($productTaxonsPositions);
|
||||
|
|
@ -81,10 +81,10 @@ class ProductTaxonController extends ResourceController
|
|||
$session = $request->getSession();
|
||||
$session->getFlashBag()->add('error', $exception->getMessage());
|
||||
|
||||
return $this->redirectHandler->redirectToReferer($configuration);
|
||||
return $this->redirectHandler->redirectToIndex($configuration);
|
||||
}
|
||||
|
||||
return $this->redirectHandler->redirectToReferer($configuration);
|
||||
return $this->redirectHandler->redirectToIndex($configuration);
|
||||
}
|
||||
|
||||
/** @param array<int, string> $productTaxonPositions */
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ final class ContactController
|
|||
|
||||
$contactEmail = $channel->getContactEmail();
|
||||
|
||||
$redirectRoute = $this->getSyliusAttribute($request, 'redirect', 'referer');
|
||||
|
||||
if (null === $contactEmail) {
|
||||
$errorMessage = $this->getSyliusAttribute(
|
||||
$request,
|
||||
|
|
@ -80,7 +82,7 @@ final class ContactController
|
|||
$flashBag = $request->getSession()->getBag('flashes');
|
||||
$flashBag->add('error', $errorMessage);
|
||||
|
||||
return new RedirectResponse($request->headers->get('referer'));
|
||||
return new RedirectResponse($this->router->generate($redirectRoute));
|
||||
}
|
||||
|
||||
$localeCode = $this->localeContext->getLocaleCode();
|
||||
|
|
@ -96,8 +98,6 @@ final class ContactController
|
|||
$flashBag = $request->getSession()->getBag('flashes');
|
||||
$flashBag->add('success', $successMessage);
|
||||
|
||||
$redirectRoute = $this->getSyliusAttribute($request, 'redirect', 'referer');
|
||||
|
||||
return new RedirectResponse($this->router->generate($redirectRoute));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ sylius_shop_user_request_verification_token:
|
|||
methods: [POST]
|
||||
defaults:
|
||||
_controller: sylius.controller.shop_user::requestVerificationTokenAction
|
||||
_sylius:
|
||||
redirect: sylius_shop_account_dashboard
|
||||
|
||||
sylius_shop_user_verification:
|
||||
path: /verify/{token}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue