Skip to content

Commit 8fde29c

Browse files
authored
feature #12 Add full CRUD for payment methods (4c0n)
This PR was merged into the 1.12-dev branch. Discussion ---------- TODO: Need to remove the conflicts once they're added to the main Sylius repo. Commits ------- 09be7c7 Add grid for payment methods bc3aee3 Add route configuration for payment methods 8f19e9b Import new grid configuration 8651e14 Fix typo 48f30db Pass locale argument 9d35c31 Add route configuration for payment method create 95543a7 Add conflict on dbal v3 as Sylius uses the json_array type in entity definitions which is no longer supported in that version 87f6a5c Add conflict on rest bundle ^3.1 as it no longer flattens/normalizes exceptions outside of its own scope (see FOS\RestBundle\Serializer\Normalizer\FlattenExceptionNormalizer::supportsNormalization) 076b268 Fix deprecation warning of required parameter following optional parameters 33c91fd Swapping constructor arguments for order form type in service definition 1d29c73 Add conflict on doctrine orm ^2.10 a7d2b7c Test payment method list API endpoint e8a8bcd Remove unused variables 9c06801 Add type hint to property and return types to methods 6057c58 Separate gateway configuration fixture from the payment methods fixture 7879241 Add create response for payment method daca1f2 Add tests for creating payment methods fda7d76 Test updating payment methods 975a1fa Test deleting of payment methods
2 parents dcb34a1 + 975a1fa commit 8fde29c

File tree

11 files changed

+487
-16
lines changed

11 files changed

+487
-16
lines changed

Form/Type/OrderType.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ final class OrderType extends AbstractResourceType
3838

3939
public function __construct(
4040
string $dataClass,
41-
array $validationGroups = [],
4241
RepositoryInterface $localeRepository,
42+
array $validationGroups = [],
4343
?ChoiceLoaderInterface $customerChoiceLoader = null
4444
) {
4545
parent::__construct($dataClass, $validationGroups);

Resources/config/app/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ imports:
66

77
- { resource: "@SyliusAdminApiBundle/Resources/config/grids/cart.yml" }
88
- { resource: "@SyliusAdminApiBundle/Resources/config/grids/payment.yml" }
9+
- { resource: "@SyliusAdminApiBundle/Resources/config/grids/payment_method.yml" }
910
- { resource: "@SyliusAdminApiBundle/Resources/config/grids/product.yml" }
1011
- { resource: "@SyliusAdminApiBundle/Resources/config/grids/product_review.yml" }
1112
- { resource: "@SyliusAdminApiBundle/Resources/config/grids/product_variant.yml" }
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
sylius_grid:
2+
grids:
3+
sylius_admin_api_payment_method:
4+
driver:
5+
name: doctrine/orm
6+
options:
7+
class: "%sylius.model.payment_method.class%"
8+
repository:
9+
method: createListQueryBuilder
10+
arguments: ["%locale%"]
11+
filters:
12+
name:
13+
type: string
14+
options:
15+
fields: [translation.name]
16+
code:
17+
type: string

Resources/config/routing/payment_method.yml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,28 @@ sylius_admin_api_payment_method:
66
identifier: code
77
alias: sylius.payment_method
88
section: admin_api
9-
only: ['show']
9+
grid: sylius_admin_api_payment_method
10+
form: Sylius\Bundle\PaymentBundle\Form\Type\PaymentMethodType
1011
serialization_version: $version
1112
criteria:
1213
code: $code
1314
type: sylius.resource_api
15+
16+
sylius_admin_api_payment_method_create:
17+
path: /payment-methods/{factory}
18+
methods: [POST]
19+
defaults:
20+
_controller: sylius.controller.payment_method:createAction
21+
_sylius:
22+
serialization_groups: [ Default, Detailed ]
23+
serialization_version: $version
24+
section: admin_api
25+
form: Sylius\Bundle\PaymentBundle\Form\Type\PaymentMethodType
26+
factory:
27+
method: createWithGateway
28+
arguments:
29+
gatewayFactory: $factory
30+
vars:
31+
route:
32+
parameters:
33+
factory: $factory

Resources/config/services/form.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@
3636

3737
<service id="sylius.form.type.api_order" class="Sylius\Bundle\AdminApiBundle\Form\Type\OrderType">
3838
<argument>%sylius.model.order.class%</argument>
39-
<argument>%sylius.form.type.api_order.validation_groups%</argument>
4039
<argument type="service" id="sylius.repository.locale" />
40+
<argument>%sylius.form.type.api_order.validation_groups%</argument>
4141
<argument type="service" id="sylius.form.choice_list.loader.lazy_customer_loader" />
4242
<tag name="form.type" />
4343
</service>

composer.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@
5151
"twig/twig": "^2.12",
5252
"vimeo/psalm": "4.6.4"
5353
},
54+
"conflict": {
55+
"doctrine/dbal": "^3",
56+
"doctrine/orm": "^2.10",
57+
"friendsofsymfony/rest-bundle": "^3.1"
58+
},
5459
"config": {
5560
"sort-packages": true
5661
},

0 commit comments

Comments
 (0)