Skip to content

Commit 67a4d7a

Browse files
committed
MAGETWO-59074: Creditmemo return to stock only one unit of configurable product
1 parent 38ecb6e commit 67a4d7a

File tree

1 file changed

+6
-19
lines changed

1 file changed

+6
-19
lines changed

app/code/Magento/SalesInventory/Observer/RefundOrderInventoryObserver.php

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,23 @@ class RefundOrderInventoryObserver implements ObserverInterface
5555
* @param StockManagementInterface $stockManagement
5656
* @param \Magento\CatalogInventory\Model\Indexer\Stock\Processor $stockIndexerProcessor
5757
* @param \Magento\Catalog\Model\Indexer\Product\Price\Processor $priceIndexer
58-
* @param \Magento\Framework\App\ObjectManager $returnProcessor
58+
* @param ReturnProcessor $returnProcessor
59+
* @param \Magento\Sales\Api\OrderRepositoryInterface $orderRepository
5960
*/
6061
public function __construct(
6162
StockConfigurationInterface $stockConfiguration,
6263
StockManagementInterface $stockManagement,
6364
\Magento\CatalogInventory\Model\Indexer\Stock\Processor $stockIndexerProcessor,
6465
\Magento\Catalog\Model\Indexer\Product\Price\Processor $priceIndexer,
65-
\Magento\Framework\App\ObjectManager $returnProcessor
66+
\Magento\SalesInventory\Model\Order\ReturnProcessor $returnProcessor,
67+
\Magento\Sales\Api\OrderRepositoryInterface $orderRepository
6668
) {
6769
$this->stockConfiguration = $stockConfiguration;
6870
$this->stockManagement = $stockManagement;
6971
$this->stockIndexerProcessor = $stockIndexerProcessor;
7072
$this->priceIndexer = $priceIndexer;
7173
$this->returnProcessor = $returnProcessor;
74+
$this->orderRepository = $orderRepository;
7275
}
7376

7477
/**
@@ -81,7 +84,7 @@ public function execute(EventObserver $observer)
8184
{
8285
/* @var $creditmemo \Magento\Sales\Model\Order\Creditmemo */
8386
$creditmemo = $observer->getEvent()->getCreditmemo();
84-
$order = $this->getOrderRepository()->get($creditmemo->getOrderId());
87+
$order = $this->orderRepository->get($creditmemo->getOrderId());
8588
$returnToStockItems = [];
8689
foreach ($creditmemo->getItems() as $item) {
8790
if ($item->getBackToStock()) {
@@ -95,20 +98,4 @@ public function execute(EventObserver $observer)
9598
$this->stockConfiguration->isAutoReturnEnabled()
9699
);
97100
}
98-
99-
/**
100-
* Get OrderRepository
101-
*
102-
* @return OrderRepository
103-
* @deprecated
104-
*/
105-
private function getOrderRepository()
106-
{
107-
if (!$this->orderRepository) {
108-
$this->orderRepository = \Magento\Framework\App\ObjectManager::getInstance()
109-
->get(OrderRepository::class);
110-
111-
}
112-
return $this->orderRepository;
113-
}
114101
}

0 commit comments

Comments
 (0)