[UPMERGE] 2.0 -> payment-request (#17154)

This PR has been generated automatically.
For more details see
[upmerge_pr.yaml](/Sylius/Sylius/blob/1.13/.github/workflows/upmerge_pr.yaml).

**Remember!** The upmerge should always be merged with using `Merge pull
request` button.

In case of conflicts, please resolve them manually with usign the
following commands:
```
git fetch upstream
gh pr checkout <this-pr-number>
git merge upstream/payment-request -m "Resolve conflicts between 2.0 and payment-request"
```

If you use other name for the upstream remote, please replace `upstream`
with the name of your remote pointing to the `Sylius/Sylius` repository.

Once the conflicts are resolved, please run `git merge --continue` and
push the changes to this PR.
This commit is contained in:
Grzegorz Sadowski 2024-10-09 06:38:01 +02:00 committed by GitHub
commit 044dfff9c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 215 additions and 241 deletions

View file

@ -12,8 +12,3 @@ references related issues.
- https://github.com/stof/StofDoctrineExtensionsBundle/issues/455
- https://github.com/doctrine-extensions/DoctrineExtensions/issues/2600
- `gedmo/doctrine-extensions:3.17.0`:
This version has a bug, which on Symfony 6.4 leads to a fatal error:
`[Semantical Error] The annotation "@note" in property Gedmo\Loggable\Entity\MappedSuperclass\AbstractLogEntry::$data was never imported.`

View file

@ -45,7 +45,7 @@
* Aliases introduced in Sylius 1.14 have now become the primary service IDs in Sylius 2.0. The old service IDs have been removed, and all references must be updated accordingly:
| Old ID | New ID |
|-------------------------------------------------------------|-------------------------------------------------------------------------------------|
|------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
| **AttributeBundle** | |
| `sylius.form.type.attribute_type.select.choices_collection` | `sylius.form.type.attribute_type.configuration.select_attribute_choices_collection` |
| `sylius.attribute_type.select.value.translations` | `sylius.form.type.attribute_type.configuration.select_attribute_value_translations` |
@ -62,10 +62,32 @@
| `sylius.currency_name_converter` | `sylius.converter.currency_name` |
| **InventoryBundle** | |
| `sylius.availability_checker.default` | `sylius.availability_checker` |
| **LocaleBundle** | |
| `Sylius\Bundle\LocaleBundle\Context\RequestHeaderBasedLocaleContext` | `sylius.context.locale.request_header_based` |
| `sylius.locale_collection_provider` | `sylius.provider.locale_collection` |
| `sylius.locale_collection_provider.cahced` | `sylius.provider.locale_collection.cached` |
| `sylius.locale_provider` | `sylius.provider.locale` |
| `sylius.locale_converter` | `sylius.converter.locale` |
| `Sylius\Bundle\LocaleBundle\Doctrine\EventListener\LocaleModificationListener` | `sylius.doctrine.listener.locale_modification` |
| **MoneyBundle** | |
| `sylius.twig.extension.convert_amount` | `sylius.twig.extension.convert_money` |
| `sylius.twig.extension.money` | `sylius.twig.extension.format_money` |
| `sylius.money_formatter` | `sylius.formatter.money` |
| **OrderBundle** | |
| `sylius.order_modifier` | `sylius.modifier.order` |
| `sylius.order_item_quantity_modifier` | `sylius.modifier.order_item_quantity` |
| `sylius.order_number_assigner` | `sylius.number_assigner.order_number` |
| `sylius.adjustments_aggregator` | `sylius.aggregator.adjustments_by_label` |
| `sylius.expired_carts_remover` | `sylius.remover.expired_carts` |
| `sylius.sequential_order_number_generator` | `sylius.number_generator.sequential_order` |
| `Sylius\Bundle\OrderBundle\Console\Command\RemoveExpiredCartsCommand` | `sylius.console.command.remove_expired_carts` |
| **ProductBundle** | |
| `sylius.form.type.sylius_product_associations` | `sylius.form.type.product_associations` |
| `sylius.form.event_subscriber.product_variant_generator` | `sylius.form.event_subscriber.generate_product_variants` |
| `Sylius\Bundle\ProductBundle\Validator\ProductVariantOptionValuesConfigurationValidator` | `sylius.validator.product_variant_option_values_configuration` |
| `sylius.validator.product_code_uniqueness` | `sylius.validator.unique_simple_product_code` |
| `sylius.product_variant_resolver.default` | `sylius.resolver.product_variant.default` |
| `sylius.available_product_option_values_resolver` | `sylius.resolver.available_product_option_values` |
The old service IDs are no longer available in Sylius 2.0. Please ensure your configurations and service references use the new service IDs.
@ -76,6 +98,10 @@
| **AddressingBundle** | |
| `Sylius\Component\Addressing\Checker\ZoneDeletionCheckerInterface` | `sylius.checker.zone_deletion` |
| `Sylius\Component\Addressing\Checker\CountryProvincesDeletionCheckerInterface` | `sylius.checker.country_provinces_deletion` |
| **LocaleBundle** | |
| `Sylius\Bundle\LocaleBundle\Checker\LocaleUsageCheckerInterface` | `sylius.checker.locale_usage` |
| **ProductBundle** | |
| `Sylius\Component\Product\Resolver\ProductVariantResolverInterface` | `sylius.resolver.product_variant` |
* The following parameters were removed:

View file

@ -47,7 +47,7 @@
"enshrined/svg-sanitize": "^0.16",
"fakerphp/faker": "^1.10",
"friendsofphp/proxy-manager-lts": "^1.0.7",
"gedmo/doctrine-extensions": "^3.2",
"gedmo/doctrine-extensions": "^3.17.1",
"guzzlehttp/guzzle": "^6.5 || ^7.0",
"guzzlehttp/psr7": "^2.5",
"knplabs/gaufrette": "^0.10 || ^0.11",
@ -188,7 +188,6 @@
"sylius/user-bundle": "self.version"
},
"conflict": {
"gedmo/doctrine-extensions": "^3.17.0",
"stof/doctrine-extensions-bundle": "1.8.0"
},
"require-dev": {

View file

@ -217,7 +217,7 @@
<argument type="service" id="sylius.factory.promotion_coupon" />
<argument type="service" id="sylius.factory.promotion_rule" />
<argument type="service" id="sylius.repository.promotion" />
<argument type="service" id="sylius.promotion_coupon_generator" />
<argument type="service" id="sylius.generator.promotion_coupon" />
<argument type="service" id="doctrine.orm.entity_manager" />
<argument type="service" id="sylius.fixture.example_factory.promotion" />
</service>

View file

@ -14,6 +14,7 @@ twig_hooks:
'sylius_admin.product.create.content.form':
side_navigation:
template: '@SyliusAdmin/product/form/side_navigation.html.twig'
priority: 1
sections:
template: '@SyliusAdmin/product/form/sections.html.twig'

View file

@ -32,6 +32,7 @@ twig_hooks:
'sylius_admin.product.update.content.form':
side_navigation:
template: '@SyliusAdmin/product/form/side_navigation.html.twig'
priority: 1
sections:
template: '@SyliusAdmin/product/form/sections.html.twig'

View file

@ -11,6 +11,7 @@ twig_hooks:
'sylius_admin.product_variant.create.content.form':
side_navigation:
template: '@SyliusAdmin/product_variant/form/side_navigation.html.twig'
priority: 1
sections:
template: '@SyliusAdmin/product_variant/form/sections.html.twig'

View file

@ -21,6 +21,7 @@ twig_hooks:
'sylius_admin.product_variant.update.content.form':
side_navigation:
template: '@SyliusAdmin/product_variant/form/side_navigation.html.twig'
priority: 1
sections:
template: '@SyliusAdmin/product_variant/form/sections.html.twig'

View file

@ -74,7 +74,7 @@ sylius_grid:
show_orders:
type: show
label: sylius.ui.show_orders
icon: shopping-bag
icon: shopping_bag
options:
link:
route: sylius_admin_customer_order_index

View file

@ -1,9 +0,0 @@
# CONFLICTS
This document explains why certain conflicts were added to `composer.json` and
references related issues.
- `gedmo/doctrine-extensions:3.17.0`:
This version has a bug, which on Symfony 6.4 leads to a fatal error:
`[Semantical Error] The annotation "@note" in property Gedmo\Loggable\Entity\MappedSuperclass\AbstractLogEntry::$data was never imported.`

View file

@ -55,8 +55,8 @@
<service id="Sylius\Bundle\ApiBundle\Mapper\AddressMapperInterface" class="Sylius\Bundle\ApiBundle\Mapper\AddressMapper" public="true"/>
<service id="Sylius\Bundle\ApiBundle\Checker\AppliedCouponEligibilityCheckerInterface" class="Sylius\Bundle\ApiBundle\Checker\AppliedCouponEligibilityChecker">
<argument type="service" id="sylius.promotion_eligibility_checker" />
<argument type="service" id="sylius.promotion_coupon_eligibility_checker" />
<argument type="service" id="sylius.eligibility_checker.promotion" />
<argument type="service" id="sylius.eligibility_checker.promotion_coupon" />
</service>
<service id="sylius.api.checker.update_payment_request_eligibility" class="Sylius\Bundle\ApiBundle\Checker\UpdatePaymentRequestEligibilityChecker" />

View file

@ -203,7 +203,7 @@
<service id="Sylius\Bundle\ApiBundle\CommandHandler\Promotion\GeneratePromotionCouponHandler">
<argument type="service" id="sylius.repository.promotion" />
<argument type="service" id="sylius.promotion_coupon_generator" />
<argument type="service" id="sylius.generator.promotion_coupon" />
<tag name="messenger.message_handler" bus="sylius.command_bus" />
</service>

View file

@ -47,9 +47,6 @@
"symfony/webpack-encore-bundle": "^2.1",
"theofidry/alice-data-fixtures": "^1.4"
},
"conflict": {
"gedmo/doctrine-extensions": "^3.17.0"
},
"config": {
"allow-plugins": {
"symfony/flex": true

View file

@ -114,7 +114,7 @@
<service id="sylius.custom_factory.order_item" class="Sylius\Component\Core\Factory\CartItemFactory" decorates="sylius.factory.order_item" decoration-priority="256" public="false">
<argument type="service" id="sylius.custom_factory.order_item.inner" />
<argument type="service" id="sylius.resolver.product_variant" />
<argument type="service" id="sylius.order_item_quantity_modifier" />
<argument type="service" id="sylius.modifier.order_item_quantity" />
</service>
<service id="sylius.factory.cart_item" alias="sylius.custom_factory.order_item" />
<service id="sylius.custom_factory.address" class="Sylius\Component\Core\Factory\AddressFactory" decorates="sylius.factory.address" decoration-priority="256" public="false">
@ -220,7 +220,7 @@
</service>
<service id="Sylius\Component\Core\Customer\Statistics\CustomerStatisticsProviderInterface" alias="sylius.customer_statistics_provider" />
<service id="sylius.sequential_order_number_generator" class="Sylius\Bundle\CoreBundle\Order\NumberGenerator\SequentialOrderNumberGenerator">
<service id="sylius.number_generator.sequential_order" class="Sylius\Bundle\CoreBundle\Order\NumberGenerator\SequentialOrderNumberGenerator">
<argument type="service" id="sylius.repository.order_sequence" />
<argument type="service" id="sylius.factory.order_sequence" />
<argument type="service" id="sylius.manager.order_sequence" />

View file

@ -16,7 +16,7 @@
<defaults public="true" />
<service id="Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\ApplyCatalogPromotionsOnVariantsHandler">
<argument type="service" id="Sylius\Bundle\PromotionBundle\Provider\EligibleCatalogPromotionsProviderInterface" />
<argument type="service" id="sylius.provider.eligible_catalog_promotions" />
<argument type="service" id="Sylius\Bundle\CoreBundle\CatalogPromotion\Applicator\CatalogPromotionApplicatorInterface"/>
<argument type="service" id="sylius.repository.product_variant" />
<argument type="service" id="Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionClearerInterface" />

View file

@ -155,6 +155,8 @@
<tag name="form.type" />
</service>
<service id="sylius.form.type.catalog_promotion_action.percentage_discount_action_configuration" alias="Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionAction\PercentageDiscountActionConfigurationType" />
<service id="Sylius\Bundle\CoreBundle\Form\Type\CatalogPromotionAction\ChannelBasedFixedDiscountActionConfigurationType">
<tag name="sylius.catalog_promotion.action_configuration_type" key="%sylius.catalog_promotion.action.fixed_discount%" />
<tag name="form.type" />
@ -288,6 +290,8 @@
<tag name="form.type" />
</service>
<service id="sylius.form.type.catalog_promotion_action" alias="Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionActionType" />
<service id="Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionScopeType">
<argument>%sylius.model.catalog_promotion_scope.class%</argument>
<argument>%sylius.form.type.catalog_promotion.validation_groups%</argument>

View file

@ -56,7 +56,7 @@
</service>
<service id="sylius.order_processing.order_promotion_processor" class="Sylius\Component\Core\OrderProcessing\OrderPromotionProcessor">
<argument type="service" id="sylius.promotion_processor" />
<argument type="service" id="sylius.processor.promotion" />
<tag name="sylius.order_processor" priority="20"/>
</service>

View file

@ -47,34 +47,29 @@
<service id="sylius.context.locale.composite" class="Sylius\Component\Locale\Context\CompositeLocaleContext" decorates="sylius.context.locale" decoration-priority="256" public="false" />
<service id="Sylius\Bundle\LocaleBundle\Context\RequestHeaderBasedLocaleContext">
<service id="sylius.context.locale.request_header_based" class="Sylius\Bundle\LocaleBundle\Context\RequestHeaderBasedLocaleContext">
<argument type="service" id="request_stack" />
<argument type="service" id="sylius.provider.locale" />
<tag name="sylius.context.locale" priority="32" />
</service>
<service id="sylius.context.locale.request_header_based" alias="Sylius\Bundle\LocaleBundle\Context\RequestHeaderBasedLocaleContext" />
<service id="sylius.locale_collection_provider" class="Sylius\Component\Locale\Provider\LocaleCollectionProvider">
<service id="sylius.provider.locale_collection" class="Sylius\Component\Locale\Provider\LocaleCollectionProvider">
<argument type="service" id="sylius.repository.locale" />
</service>
<service id="sylius.provider.locale_collection" alias="sylius.locale_collection_provider" />
<service id="sylius.locale_collection_provider.cached" class="Sylius\Component\Locale\Provider\CachedLocaleCollectionProvider" decorates="sylius.provider.locale_collection">
<service id="sylius.provider.locale_collection.cached" class="Sylius\Component\Locale\Provider\CachedLocaleCollectionProvider" decorates="sylius.provider.locale_collection">
<argument type="service" id=".inner" />
<argument type="service" id="cache.app" />
</service>
<service id="sylius.provider.locale_collection.cached" alias="sylius.locale_collection_provider.cached" />
<service id="sylius.locale_provider" class="Sylius\Component\Locale\Provider\LocaleProvider">
<service id="sylius.provider.locale" class="Sylius\Component\Locale\Provider\LocaleProvider">
<argument type="service" id="sylius.provider.locale_collection" />
<argument>%sylius_locale.locale%</argument>
</service>
<service id="Sylius\Component\Locale\Provider\LocaleProviderInterface" alias="sylius.locale_provider" />
<service id="sylius.provider.locale" alias="sylius.locale_provider" />
<service id="Sylius\Component\Locale\Provider\LocaleProviderInterface" alias="sylius.provider.locale" />
<service id="sylius.locale_converter" class="Sylius\Component\Locale\Converter\LocaleConverter" />
<service id="Sylius\Component\Locale\Converter\LocaleConverterInterface" alias="sylius.locale_converter" />
<service id="sylius.converter.locale" alias="sylius.locale_converter" />
<service id="sylius.converter.locale" class="Sylius\Component\Locale\Converter\LocaleConverter" />
<service id="Sylius\Component\Locale\Converter\LocaleConverterInterface" alias="sylius.converter.locale" />
<service id="sylius.listener.request_locale_setter" class="Sylius\Bundle\LocaleBundle\Listener\RequestLocaleSetter">
<argument type="service" id="sylius.context.locale" />
@ -88,19 +83,18 @@
<tag name="twig.extension" />
</service>
<service id="Sylius\Bundle\LocaleBundle\Checker\LocaleUsageCheckerInterface" class="Sylius\Bundle\LocaleBundle\Checker\LocaleUsageChecker">
<service id="sylius.checker.locale_usage" class="Sylius\Bundle\LocaleBundle\Checker\LocaleUsageChecker">
<argument type="service" id="sylius.repository.locale" />
<argument type="service" id="sylius.resource_registry" />
<argument type="service" id="doctrine.orm.entity_manager" />
</service>
<service id="sylius.checker.locale_usage" alias="Sylius\Bundle\LocaleBundle\Checker\LocaleUsageCheckerInterface" />
<service id="Sylius\Bundle\LocaleBundle\Checker\LocaleUsageCheckerInterface" alias="sylius.checker.locale_usage" />
<service id="Sylius\Bundle\LocaleBundle\Doctrine\EventListener\LocaleModificationListener">
<service id="sylius.doctrine.listener.locale_modification" class="Sylius\Bundle\LocaleBundle\Doctrine\EventListener\LocaleModificationListener">
<argument type="service" id="cache.app" />
<tag name="doctrine.orm.entity_listener" event="postPersist" entity="Sylius\Component\Locale\Model\Locale" method="invalidateCachedLocales" />
<tag name="doctrine.orm.entity_listener" event="postUpdate" entity="Sylius\Component\Locale\Model\Locale" method="invalidateCachedLocales" />
<tag name="doctrine.orm.entity_listener" event="postRemove" entity="Sylius\Component\Locale\Model\Locale" method="invalidateCachedLocales" />
</service>
<service id="sylius.doctrine.listener.locale_modification" alias="Sylius\Bundle\LocaleBundle\Doctrine\EventListener\LocaleModificationListener" />
</services>
</container>

View file

@ -24,14 +24,12 @@
<services>
<defaults public="true" />
<service id="Sylius\Bundle\OrderBundle\Console\Command\RemoveExpiredCartsCommand">
<service id="sylius.console.command.remove_expired_carts" class="Sylius\Bundle\OrderBundle\Console\Command\RemoveExpiredCartsCommand">
<argument type="service" id="sylius.remover.expired_carts" />
<argument>%sylius_order.cart_expiration_period%</argument>
<tag name="console.command" />
</service>
<service id="Sylius\Bundle\OrderBundle\Command\RemoveExpiredCartsCommand" alias="Sylius\Bundle\OrderBundle\Console\Command\RemoveExpiredCartsCommand" />
<service id="sylius.console.command.remove_expired_carts" alias="Sylius\Bundle\OrderBundle\Console\Command\RemoveExpiredCartsCommand" />
<service id="sylius.context.cart.new" class="Sylius\Component\Order\Context\CartContext">
<argument type="service" id="sylius.factory.order" />
@ -41,48 +39,42 @@
<service id="sylius.order_processing.order_processor.composite" class="Sylius\Component\Order\Processor\CompositeOrderProcessor" public="false" />
<service id="sylius.order_modifier" class="Sylius\Component\Order\Modifier\OrderModifier">
<service id="sylius.modifier.order" class="Sylius\Component\Order\Modifier\OrderModifier">
<argument type="service" id="sylius.order_processing.order_processor" />
<argument type="service" id="sylius.modifier.order_item_quantity" />
</service>
<service id="Sylius\Component\Order\Modifier\OrderModifierInterface" alias="sylius.order_modifier" />
<service id="sylius.modifier.order" alias="sylius.order_modifier" />
<service id="Sylius\Component\Order\Modifier\OrderModifierInterface" alias="sylius.modifier.order" />
<service id="sylius.order_item_quantity_modifier" class="Sylius\Component\Order\Modifier\OrderItemQuantityModifier">
<service id="sylius.modifier.order_item_quantity" class="Sylius\Component\Order\Modifier\OrderItemQuantityModifier">
<argument type="service" id="sylius.factory.order_item_unit" />
</service>
<service id="Sylius\Component\Order\Modifier\OrderItemQuantityModifierInterface" alias="sylius.order_item_quantity_modifier" />
<service id="sylius.modifier.order_item_quantity" alias="sylius.order_item_quantity_modifier" />
<service id="Sylius\Component\Order\Modifier\OrderItemQuantityModifierInterface" alias="sylius.modifier.order_item_quantity" />
<service id="sylius.sequential_order_number_generator" class="Sylius\Bundle\OrderBundle\NumberGenerator\SequentialOrderNumberGenerator">
<service id="sylius.number_generator.sequential_order" class="Sylius\Bundle\OrderBundle\NumberGenerator\SequentialOrderNumberGenerator">
<argument type="service" id="sylius.repository.order_sequence" />
<argument type="service" id="sylius.factory.order_sequence" />
</service>
<service id="sylius.number_generator.sequential_order" alias="sylius.sequential_order_number_generator" />
<service id="sylius.order_number_assigner" class="Sylius\Bundle\OrderBundle\NumberAssigner\OrderNumberAssigner">
<service id="sylius.number_assigner.order_number" class="Sylius\Bundle\OrderBundle\NumberAssigner\OrderNumberAssigner">
<argument type="service" id="sylius.number_generator.sequential_order" />
</service>
<service id="Sylius\Bundle\OrderBundle\NumberAssigner\OrderNumberAssignerInterface" alias="sylius.order_number_assigner" />
<service id="sylius.number_assigner.order_number" alias="sylius.order_number_assigner" />
<service id="Sylius\Bundle\OrderBundle\NumberAssigner\OrderNumberAssignerInterface" alias="sylius.number_assigner.order_number" />
<service id="sylius.adjustments_aggregator" class="Sylius\Component\Order\Aggregator\AdjustmentsByLabelAggregator" />
<service id="Sylius\Component\Order\Aggregator\AdjustmentsAggregatorInterface" alias="sylius.adjustments_aggregator" />
<service id="sylius.aggregator.adjustments_by_label" alias="sylius.adjustments_aggregator" />
<service id="sylius.aggregator.adjustments_by_label" class="Sylius\Component\Order\Aggregator\AdjustmentsByLabelAggregator" />
<service id="Sylius\Component\Order\Aggregator\AdjustmentsAggregatorInterface" alias="sylius.aggregator.adjustments_by_label" />
<service id="sylius.custom_factory.adjustment" class="Sylius\Component\Order\Factory\AdjustmentFactory" decorates="sylius.factory.adjustment" decoration-priority="256" public="false">
<argument type="service" id="sylius.custom_factory.adjustment.inner" />
</service>
<service id="Sylius\Component\Order\Factory\AdjustmentFactoryInterface" alias="sylius.factory.adjustment" />
<service id="sylius.expired_carts_remover" class="Sylius\Bundle\OrderBundle\Remover\ExpiredCartsRemover">
<service id="sylius.remover.expired_carts" class="Sylius\Bundle\OrderBundle\Remover\ExpiredCartsRemover">
<argument type="service" id="sylius.repository.order" />
<argument type="service" id="sylius.manager.order" />
<argument type="service" id="event_dispatcher" />
<argument>%sylius_order.cart_expiration_period%</argument>
</service>
<service id="Sylius\Component\Order\Remover\ExpiredCartsRemoverInterface" alias="sylius.expired_carts_remover" />
<service id="sylius.remover.expired_carts" alias="sylius.expired_carts_remover" />
<service id="Sylius\Component\Order\Remover\ExpiredCartsRemoverInterface" alias="sylius.remover.expired_carts" />
<service id="sylius.factory.add_to_cart_command" class="Sylius\Bundle\OrderBundle\Factory\AddToCartCommandFactory" />
</services>

View file

@ -1,35 +0,0 @@
<?php
/*
* This file is part of the Sylius package.
*
* (c) Sylius Sp. z o.o.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Sylius\Bundle\ProductBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
final class DefaultProductVariantResolverCompilerPass implements CompilerPassInterface
{
private const DEFAULT_PRIORITY = -999;
public function process(ContainerBuilder $container): void
{
if (!$container->has('sylius.product_variant_resolver.default')) {
return;
}
// In case someone overwritten the service, we need to make sure it's tagged
$defaultResolver = $container->getDefinition('sylius.product_variant_resolver.default');
if (!$defaultResolver->hasTag('sylius.product_variant_resolver')) {
$defaultResolver->addTag('sylius.product_variant_resolver', ['priority' => self::DEFAULT_PRIORITY]);
}
}
}

View file

@ -46,17 +46,16 @@
<service id="sylius.generator.slug" class="Sylius\Component\Product\Generator\SlugGenerator" />
<service id="Sylius\Component\Product\Generator\SlugGeneratorInterface" alias="sylius.generator.slug" />
<service id="Sylius\Component\Product\Resolver\ProductVariantResolverInterface" class="Sylius\Component\Product\Resolver\CompositeProductVariantResolver">
<service id="sylius.resolver.product_variant" class="Sylius\Component\Product\Resolver\CompositeProductVariantResolver">
<argument type="tagged_iterator" tag="sylius.product_variant_resolver" />
</service>
<service id="sylius.resolver.product_variant" alias="Sylius\Component\Product\Resolver\ProductVariantResolverInterface" />
<service id="Sylius\Component\Product\Resolver\ProductVariantResolverInterface" alias="sylius.resolver.product_variant" />
<service id="sylius.resolver.product_variant.composite" alias="sylius.resolver.product_variant" />
<service id="sylius.product_variant_resolver.default" class="Sylius\Component\Product\Resolver\DefaultProductVariantResolver">
<service id="sylius.resolver.product_variant.default" class="Sylius\Component\Product\Resolver\DefaultProductVariantResolver">
<argument type="service" id="sylius.repository.product_variant" />
<tag name="sylius.product_variant_resolver" priority="-999" />
</service>
<service id="sylius.resolver.product_variant.default" alias="sylius.product_variant_resolver.default" />
<service id="sylius.listener.select_product_attribute_choice_remove" class="Sylius\Bundle\ProductBundle\EventListener\SelectProductAttributeChoiceRemoveListener">
<argument>%sylius.model.product_attribute_value.class%</argument>

View file

@ -93,12 +93,11 @@
<tag name="form.type" />
</service>
<service id="sylius.form.type.sylius_product_associations" class="Sylius\Bundle\ProductBundle\Form\Type\ProductAssociationsType">
<service id="sylius.form.type.product_associations" class="Sylius\Bundle\ProductBundle\Form\Type\ProductAssociationsType">
<argument type="service" id="sylius.repository.product_association_type" />
<argument type="service" id="sylius.form.type.data_transformer.products_to_product_associations" />
<tag name="form.type" />
</service>
<service id="sylius.form.type.product_associations" alias="sylius.form.type.sylius_product_associations" />
<service id="sylius.form.type.product_attribute" class="Sylius\Bundle\ProductBundle\Form\Type\ProductAttributeType">
<argument>%sylius.model.product_attribute.class%</argument>
@ -205,11 +204,10 @@
<tag name="form.type" />
</service>
<service id="sylius.form.event_subscriber.product_variant_generator" class="Sylius\Bundle\ProductBundle\Form\EventSubscriber\GenerateProductVariantsSubscriber">
<service id="sylius.form.event_subscriber.generate_product_variants" class="Sylius\Bundle\ProductBundle\Form\EventSubscriber\GenerateProductVariantsSubscriber">
<argument type="service" id="sylius.generator.product_variant" />
<argument type="service" id="request_stack" />
</service>
<service id="sylius.form.event_subscriber.generate_product_variants" alias="sylius.form.event_subscriber.product_variant_generator" />
<service id="sylius.form.type.data_transformer.products_to_product_associations" class="Sylius\Bundle\ProductBundle\Form\DataTransformer\ProductsToProductAssociationsTransformer">
<argument type="service" id="sylius.factory.product_association" />

View file

@ -24,15 +24,13 @@
<tag name="validator.constraint_validator" alias="sylius.validator.product_variant_combination" />
</service>
<service id="Sylius\Bundle\ProductBundle\Validator\ProductVariantOptionValuesConfigurationValidator">
<service id="sylius.validator.product_variant_option_values_configuration" class="Sylius\Bundle\ProductBundle\Validator\ProductVariantOptionValuesConfigurationValidator">
<tag name="validator.constraint_validator" alias="sylius.validator.product_variant_option_values_configuration" />
</service>
<service id="sylius.validator.product_variant_option_values_configuration" alias="Sylius\Bundle\ProductBundle\Validator\ProductVariantOptionValuesConfigurationValidator" />
<service id="sylius.validator.product_code_uniqueness" class="Sylius\Bundle\ProductBundle\Validator\UniqueSimpleProductCodeValidator">
<service id="sylius.validator.unique_simple_product_code" class="Sylius\Bundle\ProductBundle\Validator\UniqueSimpleProductCodeValidator">
<argument type="service" id="sylius.repository.product_variant" />
<tag name="validator.constraint_validator" alias="sylius.validator.unique_simple_product_code" />
</service>
<service id="sylius.validator.unique_simple_product_code" alias="sylius.validator.product_code_uniqueness" />
</services>
</container>

View file

@ -13,20 +13,11 @@ declare(strict_types=1);
namespace Sylius\Bundle\ProductBundle;
use Sylius\Bundle\ProductBundle\DependencyInjection\Compiler\DefaultProductVariantResolverCompilerPass;
use Sylius\Bundle\ResourceBundle\AbstractResourceBundle;
use Sylius\Bundle\ResourceBundle\SyliusResourceBundle;
use Symfony\Component\DependencyInjection\ContainerBuilder;
final class SyliusProductBundle extends AbstractResourceBundle
{
public function build(ContainerBuilder $container): void
{
parent::build($container);
$container->addCompilerPass(new DefaultProductVariantResolverCompilerPass());
}
/** @return string[] */
public function getSupportedDrivers(): array
{

View file

@ -1,67 +0,0 @@
<?php
/*
* This file is part of the Sylius package.
*
* (c) Sylius Sp. z o.o.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Sylius\Bundle\ProductBundle\Tests\DependencyInjection\Compiler;
use Matthias\SymfonyDependencyInjectionTest\PhpUnit\AbstractCompilerPassTestCase;
use Sylius\Bundle\ProductBundle\DependencyInjection\Compiler\DefaultProductVariantResolverCompilerPass;
use Sylius\Component\Product\Resolver\ProductVariantResolverInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
final class DefaultProductVariantResolverCompilerPassTest extends AbstractCompilerPassTestCase
{
/** @test */
public function it_does_nothing_when_default_resolver_is_not_present(): void
{
$this->compile();
$this->assertContainerBuilderNotHasService('sylius.product_variant_resolver.default');
}
/** @test */
public function it_does_nothing_when_default_resolver_already_has_the_tag(): void
{
$defaultResolver = $this->registerService(
'sylius.product_variant_resolver.default',
ProductVariantResolverInterface::class,
);
$defaultResolver->addTag('sylius.product_variant_resolver');
$this->compile();
$this->assertContainerBuilderHasServiceDefinitionWithTag(
'sylius.product_variant_resolver.default',
'sylius.product_variant_resolver',
);
}
/** @test */
public function it_adds_variant_resolver_tag_with_very_low_priority_to_the_default_resolver(): void
{
$this->setDefinition('sylius.product_variant_resolver.default', new Definition());
$this->compile();
$this->assertContainerBuilderHasServiceDefinitionWithTag(
'sylius.product_variant_resolver.default',
'sylius.product_variant_resolver',
['priority' => -999],
);
}
protected function registerCompilerPass(ContainerBuilder $container): void
{
$container->addCompilerPass(new DefaultProductVariantResolverCompilerPass());
}
}

View file

@ -64,6 +64,6 @@ class PromotionCouponController extends ResourceController
protected function getGenerator(): PromotionCouponGeneratorInterface
{
return $this->container->get('sylius.promotion_coupon_generator');
return $this->container->get('sylius.generator.promotion_coupon');
}
}

View file

@ -11,7 +11,11 @@
-->
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<container
xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
<imports>
<import resource="services/*.xml" />
</imports>
@ -28,45 +32,54 @@
<service id="Sylius\Component\Promotion\Factory\PromotionCouponGeneratorInstructionFactoryInterface" alias="sylius.factory.promotion_coupon_generator_instruction" />
<service id="sylius.promotion_processor" class="Sylius\Component\Promotion\Processor\PromotionProcessor">
<argument type="service" id="sylius.active_promotions_provider" />
<argument type="service" id="sylius.promotion_eligibility_checker" />
<argument type="service" id="sylius.promotion_applicator" />
<argument type="service" id="sylius.provider.active_promotions" />
<argument type="service" id="sylius.eligibility_checker.promotion" />
<argument type="service" id="sylius.action.applicator.promotion" />
</service>
<service id="Sylius\Component\Promotion\Processor\PromotionProcessorInterface" alias="sylius.promotion_processor" />
<service id="sylius.processor.promotion" alias="sylius.promotion_processor" />
<service id="sylius.promotion_applicator" class="Sylius\Component\Promotion\Action\PromotionApplicator">
<argument type="service" id="sylius.registry_promotion_action" />
</service>
<service id="Sylius\Component\Promotion\Action\PromotionApplicatorInterface" alias="sylius.promotion_applicator" />
<service id="sylius.action.applicator.promotion" alias="sylius.promotion_applicator" />
<service id="sylius.registry_promotion_rule_checker" class="Sylius\Component\Registry\ServiceRegistry">
<argument>Sylius\Component\Promotion\Checker\Rule\RuleCheckerInterface</argument>
<argument>rule checker</argument>
</service>
<service id="sylius.registry.promotion.rule_checker" alias="sylius.registry_promotion_rule_checker" />
<service id="sylius.form_registry.promotion_rule_checker" class="Sylius\Bundle\ResourceBundle\Form\Registry\FormTypeRegistry" />
<service id="sylius.registry_promotion_action" class="Sylius\Component\Registry\ServiceRegistry">
<argument>Sylius\Component\Promotion\Action\PromotionActionCommandInterface</argument>
<argument>promotion action</argument>
</service>
<service id="sylius.registry.promotion.action" alias="sylius.registry_promotion_action" />
<service id="sylius.form_registry.promotion_action" class="Sylius\Bundle\ResourceBundle\Form\Registry\FormTypeRegistry" />
<service id="sylius.active_promotions_provider" class="Sylius\Component\Promotion\Provider\ActivePromotionsProvider">
<argument type="service" id="sylius.repository.promotion" />
</service>
<service id="Sylius\Component\Promotion\Provider\ActivePromotionsProvider" alias="sylius.active_promotions_provider" />
<service id="sylius.provider.active_promotions" alias="sylius.active_promotions_provider" />
<service id="sylius.promotion_coupon_generator" class="Sylius\Component\Promotion\Generator\PromotionCouponGenerator">
<argument type="service" id="sylius.factory.promotion_coupon" />
<argument type="service" id="sylius.repository.promotion_coupon" />
<argument type="service" id="sylius.manager.promotion_coupon" />
<argument type="service" id="sylius.promotion_coupon_generator.percentage_policy" />
<argument type="service" id="sylius.generator.percentage_generation_policy" />
</service>
<service id="Sylius\Component\Promotion\Generator\PromotionCouponGeneratorInterface" alias="sylius.promotion_coupon_generator" />
<service id="sylius.generator.promotion_coupon" alias="sylius.promotion_coupon_generator" />
<service id="sylius.promotion_coupon_generator.percentage_policy" class="Sylius\Component\Promotion\Generator\PercentageGenerationPolicy">
<argument type="service" id="sylius.repository.promotion_coupon" />
</service>
<service id="sylius.generator.percentage_generation_policy" alias="sylius.promotion_coupon_generator.percentage_policy" />
<service
id="Sylius\Bundle\PromotionBundle\Provider\EligibleCatalogPromotionsProviderInterface"
@ -75,5 +88,6 @@
<argument type="service" id="sylius.repository.catalog_promotion" />
<argument type="tagged_iterator" tag="sylius.catalog_promotion.criteria" />
</service>
<service id="sylius.provider.eligible_catalog_promotions" alias="Sylius\Bundle\PromotionBundle\Provider\EligibleCatalogPromotionsProviderInterface" />
</services>
</container>

View file

@ -1,11 +1,30 @@
<container xmlns="http://symfony.com/schema/dic/services">
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of the Sylius package.
(c) Sylius Sp. z o.o.
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
-->
<container
xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
<services>
<defaults public="true" />
<service id="Sylius\Bundle\PromotionBundle\Console\Command\GenerateCouponsCommand">
<argument type="service" id="sylius.repository.promotion" />
<argument type="service" id="sylius.promotion_coupon_generator" />
<argument type="service" id="sylius.generator.promotion_coupon" />
<tag name="console.command" />
</service>
<service id="Sylius\Bundle\PromotionBundle\Command\GenerateCouponsCommand" alias="Sylius\Bundle\PromotionBundle\Console\Command\GenerateCouponsCommand" />
<service id="sylius.console.command.generate_coupons" alias="Sylius\Bundle\PromotionBundle\Console\Command\GenerateCouponsCommand" />
</services>
</container>

View file

@ -11,13 +11,18 @@
-->
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<container
xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
<services>
<defaults public="true" />
<service id="sylius.catalog_promotion.criteria.enabled" class="Sylius\Bundle\PromotionBundle\Criteria\Enabled">
<tag name="sylius.catalog_promotion.criteria" />
</service>
<service id="sylius.catalog_promotion.criteria.date_range" class="Sylius\Bundle\PromotionBundle\Criteria\DateRange">
<argument type="service" id="clock" />
<tag name="sylius.catalog_promotion.criteria" />

View file

@ -11,7 +11,11 @@
-->
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<container
xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
<services>
<defaults public="true" />
@ -20,45 +24,66 @@
public="false">
<tag name="sylius.promotion_coupon_eligibility_checker" />
</service>
<service id="sylius.eligibility_checker.promotion_coupon.duration" alias="sylius.promotion_coupon_duration_eligibility_checker" />
<service id="sylius.promotion_coupon_usage_limit_eligibility_checker"
class="Sylius\Component\Promotion\Checker\Eligibility\PromotionCouponUsageLimitEligibilityChecker"
public="false">
<tag name="sylius.promotion_coupon_eligibility_checker" />
</service>
<service id="sylius.eligibility_checker.promotion_coupon.usage_limit" alias="sylius.promotion_coupon_usage_limit_eligibility_checker" />
<service id="sylius.promotion_coupon_eligibility_checker"
class="Sylius\Component\Promotion\Checker\Eligibility\CompositePromotionCouponEligibilityChecker">
<argument type="collection" />
</service>
<service id="sylius.eligibility_checker.promotion_coupon" alias="sylius.promotion_coupon_eligibility_checker" />
<service id="sylius.eligibility_checker.promotion_coupon.composite" alias="sylius.promotion_coupon_eligibility_checker" />
<service id="Sylius\Component\Promotion\Checker\Eligibility\PromotionCouponEligibilityCheckerInterface" alias="sylius.promotion_coupon_eligibility_checker" />
<service id="sylius.promotion_duration_eligibility_checker"
class="Sylius\Component\Promotion\Checker\Eligibility\PromotionDurationEligibilityChecker"
public="false">
<tag name="sylius.promotion_eligibility_checker" />
</service>
<service id="sylius.eligibility_checker.promotion.duration" alias="sylius.promotion_duration_eligibility_checker" />
<service id="sylius.promotion_usage_limit_eligibility_checker"
class="Sylius\Component\Promotion\Checker\Eligibility\PromotionUsageLimitEligibilityChecker"
public="false">
<tag name="sylius.promotion_eligibility_checker" />
</service>
<service id="sylius.eligibility_checker.promotion.usage_limit" alias="sylius.promotion_usage_limit_eligibility_checker" />
<service id="sylius.promotion_subject_coupon_eligibility_checker"
class="Sylius\Component\Promotion\Checker\Eligibility\PromotionSubjectCouponEligibilityChecker"
public="false">
<argument type="service" id="sylius.promotion_coupon_eligibility_checker" />
<argument type="service" id="sylius.eligibility_checker.promotion_coupon" />
<tag name="sylius.promotion_eligibility_checker" />
</service>
<service id="sylius.eligibility_checker.promotion.subject_coupon" alias="sylius.promotion_subject_coupon_eligibility_checker" />
<service id="sylius.promotion_rules_eligibility_checker"
class="Sylius\Component\Promotion\Checker\Eligibility\PromotionRulesEligibilityChecker"
public="false">
<argument type="service" id="sylius.registry_promotion_rule_checker" />
<argument type="service" id="sylius.registry.promotion.rule_checker" />
<tag name="sylius.promotion_eligibility_checker" />
</service>
<service id="sylius.eligibility_checker.promotion.rules" alias="sylius.promotion_rules_eligibility_checker" />
<service id="sylius.promotion_eligibility_checker"
class="Sylius\Component\Promotion\Checker\Eligibility\CompositePromotionEligibilityChecker">
<argument type="collection" />
</service>
<service id="sylius.eligibility_checker.promotion" alias="sylius.promotion_eligibility_checker" />
<service id="sylius.eligibility_checker.promotion.composite" alias="sylius.promotion_eligibility_checker" />
<service id="Sylius\Component\Promotion\Checker\Eligibility\PromotionEligibilityCheckerInterface" alias="sylius.promotion_eligibility_checker" />
<service id="sylius.promotion_archival_eligibility_checker"
class="Sylius\Component\Promotion\Checker\Eligibility\PromotionArchivalEligibilityChecker"
public="false">
<tag name="sylius.promotion_eligibility_checker" />
</service>
<service id="sylius.eligibility_checker.promotion.archival" alias="sylius.promotion_archival_eligibility_checker" />
</services>
</container>

View file

@ -11,7 +11,11 @@
-->
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<container
xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
<parameters>
<parameter key="sylius.form.type.catalog_promotion.validation_groups" type="collection">
<parameter>sylius</parameter>
@ -48,6 +52,7 @@
<argument>Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionTranslationType</argument>
<tag name="form.type" />
</service>
<service id="sylius.form.type.catalog_promotion" alias="Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionType" />
<service id="Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionScopeType">
<argument>%sylius.model.catalog_promotion_scope.class%</argument>
@ -55,6 +60,7 @@
<argument type="collection"/>
<tag name="form.type" />
</service>
<service id="sylius.form.type.catalog_promotion_scope" alias="Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionScopeType" />
<service id="Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionAction\PercentageDiscountActionConfigurationType">
<tag name="sylius.catalog_promotion.action_configuration_type" key="%sylius.catalog_promotion.action.percentage_discount%" />
@ -73,6 +79,7 @@
<argument>%sylius.form.type.catalog_promotion_translation.validation_groups%</argument>
<tag name="form.type" />
</service>
<service id="sylius.form.type.catalog_promotion_translation" alias="Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionTranslationType" />
<service id="sylius.form.type.promotion" class="Sylius\Bundle\PromotionBundle\Form\Type\PromotionType">
<argument>%sylius.model.promotion.class%</argument>
@ -86,6 +93,7 @@
<argument>%sylius.form.type.promotion_translation.validation_groups%</argument>
<tag name="form.type" />
</service>
<service id="sylius.form.type.promotion_translation" alias="Sylius\Bundle\PromotionBundle\Form\Type\PromotionTranslationType" />
<service id="sylius.form.type.promotion_action" class="Sylius\Bundle\PromotionBundle\Form\Type\PromotionActionType">
<argument>%sylius.model.promotion_action.class%</argument>
@ -111,15 +119,19 @@
<argument type="service" id="sylius.registry_promotion_action" />
<tag name="form.type" />
</service>
<service id="sylius.form.type.promotion_action_collection" alias="sylius.form.type.promotion_action.collection" />
<service id="sylius.form.type.promotion_rule.collection" class="Sylius\Bundle\PromotionBundle\Form\Type\PromotionRuleCollectionType">
<argument type="service" id="sylius.registry_promotion_rule_checker" />
<argument type="service" id="sylius.registry.promotion.rule_checker" />
<tag name="form.type" />
</service>
<service id="sylius.form.type.promotion_rule_collection" alias="sylius.form.type.promotion_rule.collection" />
<service id="sylius.form.type.promotion_action_choice" class="Sylius\Bundle\PromotionBundle\Form\Type\PromotionActionChoiceType">
<argument>%sylius.promotion_actions%</argument>
<tag name="form.type" />
</service>
<service id="sylius.form.type.promotion_rule_choice" class="Sylius\Bundle\PromotionBundle\Form\Type\PromotionRuleChoiceType">
<argument>%sylius.promotion_rules%</argument>
<tag name="form.type" />

View file

@ -11,15 +11,14 @@
-->
<container xmlns="http://symfony.com/schema/dic/services"
<container
xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services
http://symfony.com/schema/dic/services/services-1.0.xsd">
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
<parameters>
<parameter key="sylius.repository.catalog_promotion.class">Sylius\Bundle\PromotionBundle\Doctrine\ORM\CatalogPromotionRepository</parameter>
<parameter key="sylius.repository.promotion.class">Sylius\Bundle\PromotionBundle\Doctrine\ORM\PromotionRepository</parameter>
<parameter key="sylius.repository.promotion_coupon.class">Sylius\Bundle\PromotionBundle\Doctrine\ORM\PromotionCouponRepository</parameter>
</parameters>
</container>

View file

@ -11,21 +11,26 @@
-->
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<container
xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
<services>
<defaults public="true" />
<service id="sylius.validator.promotion_subject_coupon" class="Sylius\Bundle\PromotionBundle\Validator\PromotionSubjectCouponValidator">
<argument type="service" id="sylius.promotion_eligibility_checker" />
<argument type="service" id="sylius.eligibility_checker.promotion" />
<tag name="validator.constraint_validator" alias="sylius_promotion_subject_validator" />
</service>
<service id="sylius.validator.date_range" class="Sylius\Bundle\PromotionBundle\Validator\PromotionDateRangeValidator">
<tag name="validator.constraint_validator" alias="sylius_promotion_date_range_validator" />
</service>
<service id="sylius.validator.promotion_date_range" alias="sylius.validator.date_range" />
<service id="sylius.validator.promotion_coupon_generation_amount" class="Sylius\Bundle\PromotionBundle\Validator\CouponGenerationAmountValidator">
<argument type="service" id="sylius.promotion_coupon_generator.percentage_policy" />
<argument type="service" id="sylius.generator.percentage_generation_policy" />
<tag name="validator.constraint_validator" alias="sylius_coupon_generation_amount_validator" />
</service>
@ -33,44 +38,53 @@
<argument>%sylius.promotion.catalog_promotion_action.validation_groups%</argument>
<tag name="validator.constraint_validator" alias="sylius_catalog_promotion_action_group" />
</service>
<service id="sylius.validator.catalog_promotion_action_group" alias="Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionActionGroupValidator" />
<service id="Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionActionTypeValidator">
<argument>%sylius.catalog_promotion.actions_types%</argument>
<tag name="validator.constraint_validator" alias="sylius_catalog_promotion_action_type_validator" />
</service>
<service id="sylius.validator.catalog_promotion_action_type" alias="Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionActionTypeValidator" />
<service id="Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeGroupValidator">
<argument>%sylius.promotion.catalog_promotion_scope.validation_groups%</argument>
<tag name="validator.constraint_validator" alias="sylius_catalog_promotion_scope_group" />
</service>
<service id="sylius.validator.catalog_promotion_scope_group" alias="Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeGroupValidator" />
<service id="Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeTypeValidator">
<argument>%sylius.catalog_promotion.scopes_types%</argument>
<tag name="validator.constraint_validator" alias="sylius_catalog_promotion_scope_type_validator" />
</service>
<service id="sylius.validator.catalog_promotion_scope_type" alias="Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeTypeValidator" />
<service id="Sylius\Bundle\PromotionBundle\Validator\PromotionActionGroupValidator">
<argument>%sylius.promotion.promotion_action.validation_groups%</argument>
<tag name="validator.constraint_validator" alias="sylius_promotion_action_group" />
</service>
<service id="sylius.validator.promotion_action_group" alias="Sylius\Bundle\PromotionBundle\Validator\PromotionActionGroupValidator" />
<service id="Sylius\Bundle\PromotionBundle\Validator\PromotionActionTypeValidator">
<argument>%sylius.promotion_actions%</argument>
<tag name="validator.constraint_validator" alias="sylius_promotion_action_type" />
</service>
<service id="sylius.validator.promotion_action_type" alias="Sylius\Bundle\PromotionBundle\Validator\PromotionActionTypeValidator" />
<service id="Sylius\Bundle\PromotionBundle\Validator\PromotionRuleGroupValidator">
<argument>%sylius.promotion.promotion_rule.validation_groups%</argument>
<tag name="validator.constraint_validator" alias="sylius_promotion_rule_group" />
</service>
<service id="sylius.validator.promotion_role_group" alias="Sylius\Bundle\PromotionBundle\Validator\PromotionRuleGroupValidator" />
<service id="Sylius\Bundle\PromotionBundle\Validator\PromotionRuleTypeValidator">
<argument>%sylius.promotion_rules%</argument>
<tag name="validator.constraint_validator" alias="sylius_promotion_rule_type" />
</service>
<service id="sylius.validator.promotion_role_type" alias="Sylius\Bundle\PromotionBundle\Validator\PromotionRuleTypeValidator" />
<service id="Sylius\Bundle\PromotionBundle\Validator\PromotionNotCouponBasedValidator">
<tag name="validator.constraint_validator" alias="sylius_promotion_not_coupon_based_validator" />
</service>
<service id="sylius.validator.promotion_not_coupon_based" alias="Sylius\Bundle\PromotionBundle\Validator\PromotionNotCouponBasedValidator" />
</services>
</container>

View file

@ -94,12 +94,12 @@
</service>
<service id="sylius_shop.listener.cart_item_add" class="Sylius\Bundle\ShopBundle\EventListener\CartItemAddListener">
<argument type="service" id="sylius.order_modifier"/>
<argument type="service" id="sylius.modifier.order"/>
<tag name="kernel.event_listener" event="sylius.cart_item_add" method="addToOrder" />
</service>
<service id="sylius_shop.listener.cart_item_remove" class="Sylius\Bundle\ShopBundle\EventListener\CartItemRemoveListener">
<argument type="service" id="sylius.order_modifier"/>
<argument type="service" id="sylius.modifier.order"/>
<tag name="kernel.event_listener" event="sylius.cart_item_remove" method="removeFromOrder" />
</service>
</services>

View file

@ -16,7 +16,7 @@
class="Sylius\Bundle\ShopBundle\Twig\Component\Common\LocaleSwitcherComponent"
>
<argument type="service" id="sylius.context.locale" />
<argument type="service" id="sylius.locale_provider" />
<argument type="service" id="sylius.provider.locale" />
<tag
name="sylius.twig_component"

View file

@ -57,7 +57,7 @@
class="Sylius\Bundle\ShopBundle\Twig\Component\Product\CardComponent"
>
<argument type="service" id="sylius.repository.product" />
<argument type="service" id="Sylius\Component\Product\Resolver\ProductVariantResolverInterface" />
<argument type="service" id="sylius.resolver.product_variant" />
<argument type="service" id="sylius.context.channel" />
<argument type="service" id="sylius.context.locale" />
<argument type="service" id="sylius.calculator.product_variant_price" />
@ -103,7 +103,7 @@
id="sylius_shop.twig.component.product.summary"
class="Sylius\Bundle\ShopBundle\Twig\Component\Product\SummaryComponent"
>
<argument type="service" id="sylius.product_variant_resolver.default" />
<argument type="service" id="sylius.resolver.product_variant.default" />
<argument type="service" id="sylius.repository.product" />
<argument type="service" id="sylius.repository.product_variant" />