di.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <?xml version="1.0"?>
  2. <!--
  3. /**
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. -->
  8. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  9. <preference for="Magento\Tax\Api\TaxRuleRepositoryInterface"
  10. type="Magento\Tax\Model\TaxRuleRepository"/>
  11. <preference for="Magento\Tax\Api\TaxCalculationInterface"
  12. type="Magento\Tax\Model\TaxCalculation"/>
  13. <type name="Magento\Tax\Helper\Data">
  14. <arguments>
  15. <argument name="taxConfig" xsi:type="object">Magento\Tax\Model\Config\Proxy</argument>
  16. </arguments>
  17. </type>
  18. <type name="Magento\Tax\Model\ResourceModel\Calculation">
  19. <arguments>
  20. <argument name="taxData" xsi:type="object">Magento\Tax\Helper\Data\Proxy</argument>
  21. </arguments>
  22. </type>
  23. <type name="Magento\Framework\Pricing\Adjustment\Collection">
  24. <arguments>
  25. <argument name="adjustments" xsi:type="array">
  26. <item name="tax" xsi:type="const">Magento\Tax\Pricing\Adjustment::ADJUSTMENT_CODE</item>
  27. </argument>
  28. </arguments>
  29. </type>
  30. <type name="Magento\Framework\Pricing\Adjustment\Pool">
  31. <arguments>
  32. <argument name="adjustments" xsi:type="array">
  33. <item name="tax" xsi:type="array">
  34. <item name="className" xsi:type="string">Magento\Tax\Pricing\Adjustment</item>
  35. <item name="sortOrder" xsi:type="string">20</item>
  36. </item>
  37. </argument>
  38. </arguments>
  39. </type>
  40. <preference for="Magento\Tax\Api\Data\TaxRateSearchResultsInterface" type="Magento\Framework\Api\SearchResults" />
  41. <preference for="Magento\Tax\Api\Data\TaxClassSearchResultsInterface" type="Magento\Framework\Api\SearchResults" />
  42. <preference for="Magento\Tax\Api\OrderTaxManagementInterface" type="Magento\Tax\Model\Sales\Order\TaxManagement" />
  43. <preference for="Magento\Tax\Api\Data\OrderTaxDetailsAppliedTaxInterface" type="Magento\Tax\Model\Sales\Order\Tax" />
  44. <preference for="Magento\Tax\Api\Data\OrderTaxDetailsInterface" type="Magento\Tax\Model\Sales\Order\Details" />
  45. <preference for="Magento\Tax\Api\Data\OrderTaxDetailsItemInterface" type="Magento\Sales\Model\Order\Tax\Item" />
  46. <preference for="Magento\Tax\Api\TaxClassManagementInterface" type="Magento\Tax\Model\TaxClass\Management" />
  47. <preference for="Magento\Tax\Api\TaxClassRepositoryInterface" type="Magento\Tax\Model\TaxClass\Repository" />
  48. <preference for="Magento\Tax\Api\Data\TaxClassInterface" type="Magento\Tax\Model\ClassModel" />
  49. <preference for="Magento\Tax\Api\Data\TaxRuleInterface" type="Magento\Tax\Model\Calculation\Rule" />
  50. <preference for="Magento\Tax\Api\Data\TaxRuleSearchResultsInterface" type="Magento\Framework\Api\SearchResults" />
  51. <preference for="Magento\Tax\Api\TaxRateManagementInterface" type="Magento\Tax\Model\TaxRateManagement" />
  52. <preference for="Magento\Tax\Api\TaxRateRepositoryInterface" type="Magento\Tax\Model\Calculation\RateRepository" />
  53. <preference for="Magento\Tax\Api\Data\TaxRateTitleInterface" type="Magento\Tax\Model\Calculation\Rate\Title" />
  54. <preference for="Magento\Tax\Api\Data\TaxRateInterface" type="Magento\Tax\Model\Calculation\Rate" />
  55. <preference for="Magento\Tax\Api\Data\QuoteDetailsInterface" type="Magento\Tax\Model\Sales\Quote\QuoteDetails" />
  56. <preference for="Magento\Tax\Api\Data\QuoteDetailsItemInterface" type="Magento\Tax\Model\Sales\Quote\ItemDetails" />
  57. <preference for="Magento\Tax\Api\Data\TaxClassKeyInterface" type="Magento\Tax\Model\TaxClass\Key" />
  58. <preference for="Magento\Tax\Api\Data\AppliedTaxInterface" type="Magento\Tax\Model\TaxDetails\AppliedTax" />
  59. <preference for="Magento\Tax\Api\Data\AppliedTaxRateInterface" type="Magento\Tax\Model\TaxDetails\AppliedTaxRate" />
  60. <preference for="Magento\Tax\Api\Data\TaxDetailsInterface" type="Magento\Tax\Model\TaxDetails\TaxDetails" />
  61. <preference for="Magento\Tax\Api\Data\TaxDetailsItemInterface" type="Magento\Tax\Model\TaxDetails\ItemDetails" />
  62. <preference for="Magento\Tax\Api\Data\GrandTotalDetailsInterface" type="Magento\Tax\Model\Calculation\GrandTotalDetails" />
  63. <preference for="Magento\Tax\Api\Data\GrandTotalRatesInterface" type="Magento\Tax\Model\Calculation\GrandTotalRates" />
  64. <preference for="Magento\Tax\Api\TaxAddressManagerInterface" type="Magento\Tax\Model\TaxAddressManager" />
  65. <type name="Magento\Quote\Model\Quote\Address\ToOrder">
  66. <plugin name="add_tax_to_order" type="Magento\Tax\Model\Quote\ToOrderConverter"/>
  67. </type>
  68. <type name="Magento\Quote\Model\Cart\TotalsConverter">
  69. <plugin name="add_tax_details" type="Magento\Tax\Model\Quote\GrandTotalDetailsPlugin"/>
  70. </type>
  71. <type name="Magento\Tax\Model\ResourceModel\Report\Tax\Createdat">
  72. <arguments>
  73. <argument name="connectionName" xsi:type="string">sales</argument>
  74. </arguments>
  75. </type>
  76. <type name="Magento\Tax\Model\ResourceModel\Report\Tax\Updatedat">
  77. <arguments>
  78. <argument name="connectionName" xsi:type="string">sales</argument>
  79. </arguments>
  80. </type>
  81. <type name="Magento\Sales\Api\OrderRepositoryInterface">
  82. <plugin name="save_order_tax" type="Magento\Tax\Model\Plugin\OrderSave"/>
  83. </type>
  84. <type name="Magento\Tax\Model\ResourceModel\Sales\Order\Tax">
  85. <arguments>
  86. <argument name="connectionName" xsi:type="string">sales</argument>
  87. </arguments>
  88. </type>
  89. <type name="Magento\Tax\Model\TaxRuleRepository">
  90. <arguments>
  91. <argument name="collectionProcessor" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\TaxRuleCollectionProcessor</argument>
  92. </arguments>
  93. </type>
  94. <type name="Magento\Tax\Model\Calculation\RateRepository">
  95. <arguments>
  96. <argument name="collectionProcessor" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\TaxRateCollectionProcessor</argument>
  97. </arguments>
  98. </type>
  99. <virtualType name="Magento\Tax\Model\Api\SearchCriteria\TaxRateCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
  100. <arguments>
  101. <argument name="processors" xsi:type="array">
  102. <item name="filters" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRateFilterProcessor</item>
  103. <item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
  104. <item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
  105. </argument>
  106. </arguments>
  107. </virtualType>
  108. <virtualType name="Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRateFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
  109. <arguments>
  110. <argument name="fieldMapping" xsi:type="array">
  111. <item name="tax_calculation_rate_id" xsi:type="string">main_table.tax_calculation_rate_id</item>
  112. <item name="tax_country_id" xsi:type="string">main_table.tax_country_id</item>
  113. <item name="tax_region_id" xsi:type="string">main_table.tax_region_id</item>
  114. <item name="code" xsi:type="string">main_table.code</item>
  115. <item name="rate" xsi:type="string">main_table.rate</item>
  116. <item name="zip_is_range" xsi:type="string">main_table.zip_is_range</item>
  117. <item name="zip_from" xsi:type="string">main_table.zip_from</item>
  118. <item name="zip_to" xsi:type="string">main_table.zip_to</item>
  119. <item name="region_name" xsi:type="string">region_table.code</item>
  120. </argument>
  121. </arguments>
  122. </virtualType>
  123. <virtualType name="Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleJoinProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\JoinProcessor">
  124. <arguments>
  125. <argument name="customJoins" xsi:type="array">
  126. <item name="rate.tax_calculation_rate_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\Rate</item>
  127. <item name="rc.code" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\RateCode</item>
  128. <item name="ctc.customer_tax_class_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\CustomerTaxClass</item>
  129. <item name="ptc.product_tax_class_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\ProductTaxClass</item>
  130. <item name="cd.customer_tax_class_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\CalculationData</item>
  131. <item name="cd.product_tax_class_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\CalculationData</item>
  132. </argument>
  133. <argument name="fieldMapping" xsi:type="array">
  134. <item name="id" xsi:type="string">tax_calculation_rule_id</item>
  135. <item name="tax_rate_ids" xsi:type="string">tax_calculation_rate_id</item>
  136. <item name="customer_tax_class_ids" xsi:type="string">cd.customer_tax_class_id</item>
  137. <item name="product_tax_class_ids" xsi:type="string">cd.product_tax_class_id</item>
  138. <item name="tax_calculation_rate_id" xsi:type="string">rate.tax_calculation_rate_id</item>
  139. </argument>
  140. </arguments>
  141. </virtualType>
  142. <virtualType name="Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleSortingProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor">
  143. <arguments>
  144. <argument name="fieldMapping" xsi:type="array">
  145. <item name="id" xsi:type="string">tax_calculation_rule_id</item>
  146. <item name="tax_rate_ids" xsi:type="string">tax_calculation_rate_id</item>
  147. <item name="customer_tax_class_ids" xsi:type="string">cd.customer_tax_class_id</item>
  148. <item name="product_tax_class_ids" xsi:type="string">cd.product_tax_class_id</item>
  149. <item name="tax_calculation_rate_id" xsi:type="string">rate.tax_calculation_rate_id</item>
  150. </argument>
  151. </arguments>
  152. </virtualType>
  153. <virtualType name="Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
  154. <arguments>
  155. <argument name="fieldMapping" xsi:type="array">
  156. <item name="id" xsi:type="string">tax_calculation_rule_id</item>
  157. <item name="tax_rate_ids" xsi:type="string">tax_calculation_rate_id</item>
  158. <item name="customer_tax_class_ids" xsi:type="string">cd.customer_tax_class_id</item>
  159. <item name="product_tax_class_ids" xsi:type="string">cd.product_tax_class_id</item>
  160. <item name="tax_calculation_rate_id" xsi:type="string">rate.tax_calculation_rate_id</item>
  161. </argument>
  162. </arguments>
  163. </virtualType>
  164. <virtualType name="Magento\Tax\Model\Api\SearchCriteria\TaxRuleCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
  165. <arguments>
  166. <argument name="processors" xsi:type="array">
  167. <item name="joins" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleJoinProcessor</item>
  168. <item name="filters" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleFilterProcessor</item>
  169. <item name="sorting" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleSortingProcessor</item>
  170. <item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
  171. </argument>
  172. </arguments>
  173. </virtualType>
  174. <type name="Magento\Catalog\Ui\DataProvider\Product\ProductRenderCollectorComposite">
  175. <arguments>
  176. <argument name="productProviders" xsi:type="array">
  177. <item name="tax" xsi:type="object">Magento\Tax\Ui\DataProvider\Product\Listing\Collector\Tax</item>
  178. </argument>
  179. </arguments>
  180. </type>
  181. <type name="Magento\Catalog\Ui\DataProvider\Product\Listing\DataProvider">
  182. <plugin name="taxSettingsProvider" type="Magento\Tax\Plugin\Ui\DataProvider\TaxSettings"/>
  183. </type>
  184. </config>