forked from Sylius/Sylius
/
promotion.xml
105 lines (92 loc) · 7.52 KB
/
promotion.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of the Sylius package.
(c) Paweł Jędrzejewski
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>
<service id="sylius.custom_factory.promotion_action" class="Sylius\Component\Core\Factory\PromotionActionFactory" decorates="sylius.factory.promotion_action" decoration-priority="256" public="false">
<argument type="service" id="sylius.custom_factory.promotion_action.inner" />
</service>
<service id="sylius.custom_factory.promotion_rule" class="Sylius\Component\Core\Factory\PromotionRuleFactory" decorates="sylius.factory.promotion_rule" decoration-priority="256" public="false">
<argument type="service" id="sylius.custom_factory.promotion_rule.inner" />
</service>
<service id="sylius.active_promotions_provider" class="Sylius\Component\Core\Provider\ActivePromotionsByChannelProvider">
<argument type="service" id="sylius.repository.promotion" />
</service>
<service id="sylius.promotion_rule_checker.customer_group" class="Sylius\Component\Core\Promotion\Checker\Rule\CustomerGroupRuleChecker" public="false">
<tag name="sylius.promotion_rule_checker" type="customer_group" label="Customer group" />
</service>
<service id="sylius.promotion_rule_checker.nth_order" class="Sylius\Component\Core\Promotion\Checker\Rule\NthOrderRuleChecker">
<argument type="service" id="sylius.repository.order" />
<tag name="sylius.promotion_rule_checker" type="nth_order" label="Nth order" />
</service>
<service id="sylius.promotion_rule_checker.shipping_country" class="Sylius\Component\Core\Promotion\Checker\Rule\ShippingCountryRuleChecker">
<argument type="service" id="sylius.repository.country" />
<tag name="sylius.promotion_rule_checker" type="shipping_country" label="Shipping country" />
</service>
<service id="sylius.promotion_rule_checker.has_taxon" class="Sylius\Component\Core\Promotion\Checker\Rule\HasTaxonRuleChecker">
<tag name="sylius.promotion_rule_checker" type="has_taxon" label="Has at least one from taxons" />
</service>
<service id="sylius.promotion_rule_checker.total_of_items_from_taxon" class="Sylius\Component\Core\Promotion\Checker\Rule\TotalOfItemsFromTaxonRuleChecker">
<argument type="service" id="sylius.repository.taxon" />
<tag name="sylius.promotion_rule_checker" type="total_of_items_from_taxon" label="Total price of items from taxon" />
</service>
<service id="sylius.promotion_rule_checker.contains_product" class="Sylius\Component\Core\Promotion\Checker\Rule\ContainsProductRuleChecker">
<tag name="sylius.promotion_rule_checker" type="contains_product" label="Contains product" />
</service>
<service id="sylius.channel_aware_promotion_rule_checker.item_total" class="Sylius\Component\Core\Promotion\Checker\Rule\ItemTotalRuleChecker" decorates="sylius.promotion_rule_checker.item_total" decoration-priority="256" public="false">
<argument type="service" id="sylius.channel_aware_promotion_rule_checker.item_total.inner" />
</service>
<service id="sylius.promotion_action.fixed_discount" class="Sylius\Component\Core\Promotion\Action\FixedDiscountPromotionActionCommand">
<argument type="service" id="sylius.proportional_integer_distributor" />
<argument type="service" id="sylius.promotion.units_promotion_adjustments_applicator" />
<argument type="service" id="sylius.currency_converter" />
<tag name="sylius.promotion_action" type="order_fixed_discount" label="Order fixed discount" />
</service>
<service id="sylius.promotion_action.unit_fixed_discount" class="Sylius\Component\Core\Promotion\Action\UnitFixedDiscountPromotionActionCommand">
<argument type="service" id="sylius.factory.adjustment" />
<argument type="service" id="sylius.promotion_filter.price_range" />
<argument type="service" id="sylius.promotion_filter.taxon" />
<argument type="service" id="sylius.promotion_filter.product" />
<argument type="service" id="sylius.currency_converter" />
<tag name="sylius.promotion_action" type="unit_fixed_discount" label="Item fixed discount" />
</service>
<service id="sylius.promotion_action.percentage_discount" class="Sylius\Component\Core\Promotion\Action\PercentageDiscountPromotionActionCommand">
<argument type="service" id="sylius.proportional_integer_distributor" />
<argument type="service" id="sylius.promotion.units_promotion_adjustments_applicator" />
<tag name="sylius.promotion_action" type="order_percentage_discount" label="Order percentage discount" />
</service>
<service id="sylius.promotion_action.unit_percentage_discount" class="Sylius\Component\Core\Promotion\Action\UnitPercentageDiscountPromotionActionCommand">
<argument type="service" id="sylius.factory.adjustment" />
<argument type="service" id="sylius.promotion_filter.price_range" />
<argument type="service" id="sylius.promotion_filter.taxon" />
<argument type="service" id="sylius.promotion_filter.product" />
<tag name="sylius.promotion_action" type="unit_percentage_discount" label="Item percentage discount" />
</service>
<service id="sylius.promotion_action.shipping_percentage_discount" class="Sylius\Component\Core\Promotion\Action\ShippingPercentageDiscountPromotionActionCommand">
<argument type="service" id="sylius.factory.adjustment" />
<tag name="sylius.promotion_action" type="shipping_percentage_discount" label="Shipping percentage discount" />
</service>
<service id="sylius.promotion.eligibility_checker.promotion_coupon_per_customer_usage_limit"
class="Sylius\Component\Core\Promotion\Checker\Eligibility\PromotionCouponPerCustomerUsageLimitEligibilityChecker"
public="false">
<argument type="service" id="sylius.repository.order" />
<tag name="sylius.promotion_coupon_eligibility_checker" />
</service>
<service id="sylius.promotion_filter.taxon" class="Sylius\Component\Core\Promotion\Filter\TaxonFilter" />
<service id="sylius.promotion_filter.product" class="Sylius\Component\Core\Promotion\Filter\ProductFilter" />
<service id="sylius.promotion_filter.price_range" class="Sylius\Component\Core\Promotion\Filter\PriceRangeFilter">
<argument type="service" id="sylius.calculator.product_variant_price" />
</service>
<service id="sylius.promotion.units_promotion_adjustments_applicator" class="Sylius\Component\Core\Promotion\Applicator\UnitsPromotionAdjustmentsApplicator">
<argument type="service" id="sylius.factory.adjustment" />
<argument type="service" id="sylius.integer_distributor" />
</service>
<service id="sylius.promotion_usage_modifier" class="Sylius\Component\Core\Promotion\Modifier\OrderPromotionsUsageModifier">
<argument type="service" id="sylius.manager.promotion" />
</service>
</services>
</container>