From 13f76ecc2d1a7a64b5916e908e8d398d832e3d53 Mon Sep 17 00:00:00 2001 From: Wojdylak Date: Mon, 13 May 2024 08:19:43 +0200 Subject: [PATCH 1/2] [AbstractionStateMachine] Add twig extension --- .../Abstraction/StateMachine/composer.json | 3 ++ .../StateMachine/config/services.xml | 5 +++ .../src/Twig/StateMachineExtension.php | 33 +++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 src/Sylius/Abstraction/StateMachine/src/Twig/StateMachineExtension.php diff --git a/src/Sylius/Abstraction/StateMachine/composer.json b/src/Sylius/Abstraction/StateMachine/composer.json index b0817b2060d..b4a486ecd48 100644 --- a/src/Sylius/Abstraction/StateMachine/composer.json +++ b/src/Sylius/Abstraction/StateMachine/composer.json @@ -27,6 +27,9 @@ "winzou/state-machine": "^0.4", "winzou/state-machine-bundle": "^0.6" }, + "suggest": { + "twig/twig": "Access the state machine in your twig templates (^2.12|^3.3)" + }, "require-dev": { "matthiasnoback/symfony-config-test": "^4.2", "phpunit/phpunit": "^9.5", diff --git a/src/Sylius/Abstraction/StateMachine/config/services.xml b/src/Sylius/Abstraction/StateMachine/config/services.xml index 8ec1b9840e4..6edb530acd9 100644 --- a/src/Sylius/Abstraction/StateMachine/config/services.xml +++ b/src/Sylius/Abstraction/StateMachine/config/services.xml @@ -35,5 +35,10 @@ + + + + + diff --git a/src/Sylius/Abstraction/StateMachine/src/Twig/StateMachineExtension.php b/src/Sylius/Abstraction/StateMachine/src/Twig/StateMachineExtension.php new file mode 100644 index 00000000000..bd3c4f30385 --- /dev/null +++ b/src/Sylius/Abstraction/StateMachine/src/Twig/StateMachineExtension.php @@ -0,0 +1,33 @@ +stateMachine->can(...)), + new TwigFunction('sylius_sm_transitions', $this->stateMachine->getEnabledTransitions(...)), + ]; + } +} From 737da6edc05fad373017d11b2e1e4ed4b189e8b7 Mon Sep 17 00:00:00 2001 From: Wojdylak Date: Mon, 13 May 2024 08:48:55 +0200 Subject: [PATCH 2/2] Replace sm_can function to sylius_sm_can function --- .../views/Order/Show/Payment/_completeTransition.html.twig | 2 +- .../views/Order/Show/Payment/_refundTransition.html.twig | 2 +- .../views/Order/Show/Shipment/_shipTransition.html.twig | 2 +- .../Shipment/Grid/Action/_shipWithTrackingCodeContent.html.twig | 2 +- .../Resources/views/Grid/Action/applyTransition.html.twig | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Payment/_completeTransition.html.twig b/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Payment/_completeTransition.html.twig index 6b4a808cb4b..002ba9306b6 100644 --- a/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Payment/_completeTransition.html.twig +++ b/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Payment/_completeTransition.html.twig @@ -1,4 +1,4 @@ -{% if sm_can(payment, 'complete', 'sylius_payment') %} +{% if sylius_sm_can(payment, 'sylius_payment', 'complete') %}
diff --git a/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Payment/_refundTransition.html.twig b/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Payment/_refundTransition.html.twig index 33ecb3a4915..238f10b12f6 100644 --- a/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Payment/_refundTransition.html.twig +++ b/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Payment/_refundTransition.html.twig @@ -1,4 +1,4 @@ -{% if sm_can(payment, 'refund', 'sylius_payment') %} +{% if sylius_sm_can(payment, 'sylius_payment', 'refund') %}
diff --git a/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Shipment/_shipTransition.html.twig b/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Shipment/_shipTransition.html.twig index 4a19609b7fb..a344a6d7053 100644 --- a/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Shipment/_shipTransition.html.twig +++ b/src/Sylius/Bundle/AdminBundle/Resources/views/Order/Show/Shipment/_shipTransition.html.twig @@ -1,3 +1,3 @@ -{% if sm_can(shipment, 'ship', 'sylius_shipment') %} +{% if sylius_sm_can(shipment, 'sylius_shipment', 'ship') %} {{ render(path('sylius_admin_partial_shipment_ship', {'orderId': order.id, 'id': shipment.id})) }} {% endif %} diff --git a/src/Sylius/Bundle/AdminBundle/Resources/views/Shipment/Grid/Action/_shipWithTrackingCodeContent.html.twig b/src/Sylius/Bundle/AdminBundle/Resources/views/Shipment/Grid/Action/_shipWithTrackingCodeContent.html.twig index 88e258115ed..69b8d7551c2 100644 --- a/src/Sylius/Bundle/AdminBundle/Resources/views/Shipment/Grid/Action/_shipWithTrackingCodeContent.html.twig +++ b/src/Sylius/Bundle/AdminBundle/Resources/views/Shipment/Grid/Action/_shipWithTrackingCodeContent.html.twig @@ -1,4 +1,4 @@ -{% if sm_can(data, 'ship', 'sylius_shipment') %} +{% if sylius_sm_can(data, 'sylius_shipment', 'ship') %} {{ render(controller('sylius.controller.shipment::updateAction', { '_sylius': { 'event': 'ship', diff --git a/src/Sylius/Bundle/UiBundle/Resources/views/Grid/Action/applyTransition.html.twig b/src/Sylius/Bundle/UiBundle/Resources/views/Grid/Action/applyTransition.html.twig index bb8c50d877b..8d2847b4d01 100644 --- a/src/Sylius/Bundle/UiBundle/Resources/views/Grid/Action/applyTransition.html.twig +++ b/src/Sylius/Bundle/UiBundle/Resources/views/Grid/Action/applyTransition.html.twig @@ -1,6 +1,6 @@ {% set labeled = options.labeled is defined ? options.labeled : true %} -{% if sm_can(data, options.transition, options.graph) %} +{% if sylius_sm_can(data, options.graph, options.transition) %}