11<?php
22/**
3- * Copyright © Magento, Inc. All rights reserved.
4- * See COPYING.txt for license details .
3+ * Copyright 2014 Adobe
4+ * All Rights Reserved .
55 */
66
77namespace Magento \Tax \Model \Sales \Total \Quote ;
88
99use Magento \Customer \Api \AccountManagementInterface as CustomerAccountManagement ;
1010use Magento \Customer \Api \Data \AddressInterfaceFactory as CustomerAddressFactory ;
1111use Magento \Customer \Api \Data \AddressInterface as CustomerAddress ;
12+ use Magento \Customer \Api \Data \RegionInterfaceFactory ;
1213use Magento \Customer \Api \Data \RegionInterfaceFactory as CustomerAddressRegionFactory ;
13- use Magento \Framework \DataObject ;
1414use Magento \Quote \Model \Quote \Address as QuoteAddress ;
1515use Magento \Quote \Model \Quote \Address \Total \AbstractTotal ;
1616use Magento \Quote \Model \Quote \Item \AbstractItem ;
1717use Magento \Store \Model \Store ;
1818use Magento \Tax \Api \Data \QuoteDetailsInterfaceFactory ;
1919use Magento \Tax \Api \Data \QuoteDetailsItemInterface ;
20+ use Magento \Tax \Api \Data \QuoteDetailsItemInterfaceFactory ;
2021use Magento \Tax \Api \Data \TaxClassKeyInterfaceFactory ;
2122use Magento \Tax \Api \Data \TaxClassKeyInterface ;
2223use Magento \Tax \Api \Data \TaxDetailsInterface ;
2324use Magento \Tax \Api \Data \TaxDetailsItemInterface ;
2425use Magento \Tax \Api \Data \QuoteDetailsInterface ;
2526use Magento \Quote \Api \Data \ShippingAssignmentInterface ;
27+ use Magento \Tax \Api \TaxCalculationInterface ;
2628use Magento \Tax \Helper \Data as TaxHelper ;
2729use Magento \Framework \App \ObjectManager ;
2830use Magento \Tax \Api \Data \QuoteDetailsItemExtensionInterface ;
2931use Magento \Tax \Api \Data \QuoteDetailsItemExtensionInterfaceFactory ;
32+ use Magento \Tax \Model \Config ;
3033
3134/**
3235 * Tax totals calculation model
@@ -127,6 +130,11 @@ class CommonTaxCollector extends AbstractTotal
127130 */
128131 protected $ customerAddressRegionFactory ;
129132
133+ /**
134+ * @var RegionInterfaceFactory
135+ */
136+ private RegionInterfaceFactory $ regionFactory ;
137+
130138 /**
131139 * @var \Magento\Tax\Api\Data\TaxClassKeyInterfaceFactory
132140 */
@@ -155,13 +163,14 @@ class CommonTaxCollector extends AbstractTotal
155163 /**
156164 * Class constructor
157165 *
158- * @param \Magento\Tax\Model\ Config $taxConfig
159- * @param \Magento\Tax\Api\ TaxCalculationInterface $taxCalculationService
166+ * @param Config $taxConfig
167+ * @param TaxCalculationInterface $taxCalculationService
160168 * @param QuoteDetailsInterfaceFactory $quoteDetailsDataObjectFactory
161- * @param \Magento\Tax\Api\Data\ QuoteDetailsItemInterfaceFactory $quoteDetailsItemDataObjectFactory
162- * @param \Magento\Tax\Api\Data\ TaxClassKeyInterfaceFactory $taxClassKeyDataObjectFactory
169+ * @param QuoteDetailsItemInterfaceFactory $quoteDetailsItemDataObjectFactory
170+ * @param TaxClassKeyInterfaceFactory $taxClassKeyDataObjectFactory
163171 * @param CustomerAddressFactory $customerAddressFactory
164172 * @param CustomerAddressRegionFactory $customerAddressRegionFactory
173+ * @param RegionInterfaceFactory $regionInterfaceFactory
165174 * @param TaxHelper|null $taxHelper
166175 * @param QuoteDetailsItemExtensionInterfaceFactory|null $quoteDetailsItemExtensionInterfaceFactory
167176 * @param CustomerAccountManagement|null $customerAccountManagement
@@ -175,6 +184,7 @@ public function __construct(
175184 \Magento \Tax \Api \Data \TaxClassKeyInterfaceFactory $ taxClassKeyDataObjectFactory ,
176185 CustomerAddressFactory $ customerAddressFactory ,
177186 CustomerAddressRegionFactory $ customerAddressRegionFactory ,
187+ RegionInterfaceFactory $ regionInterfaceFactory ,
178188 TaxHelper $ taxHelper = null ,
179189 QuoteDetailsItemExtensionInterfaceFactory $ quoteDetailsItemExtensionInterfaceFactory = null ,
180190 ?CustomerAccountManagement $ customerAccountManagement = null
@@ -186,6 +196,7 @@ public function __construct(
186196 $ this ->quoteDetailsItemDataObjectFactory = $ quoteDetailsItemDataObjectFactory ;
187197 $ this ->customerAddressFactory = $ customerAddressFactory ;
188198 $ this ->customerAddressRegionFactory = $ customerAddressRegionFactory ;
199+ $ this ->regionFactory = $ regionInterfaceFactory ;
189200 $ this ->taxHelper = $ taxHelper ?: ObjectManager::getInstance ()->get (TaxHelper::class);
190201 $ this ->quoteDetailsItemExtensionFactory = $ quoteDetailsItemExtensionInterfaceFactory ?:
191202 ObjectManager::getInstance ()->get (QuoteDetailsItemExtensionInterfaceFactory::class);
@@ -215,6 +226,9 @@ public function mapAddress(QuoteAddress $address)
215226 $ customerAddress ->setRegion (
216227 $ this ->customerAddressRegionFactory ->create ()->setRegionId ($ address ->getRegionId ())
217228 );
229+ $ region = $ this ->regionFactory ->create ()->setRegionCode ($ address ->getRegionCode ());
230+ $ region ->setRegion ($ address ->getRegion ());
231+ $ customerAddress ->setRegion ($ region );
218232 $ customerAddress ->setPostcode ($ address ->getPostcode ());
219233 $ customerAddress ->setCity ($ address ->getCity ());
220234 $ customerAddress ->setStreet ($ address ->getStreet ());
0 commit comments