Skip to content
Snippets Groups Projects
Commit 67a4d7ad authored by Oleksandr Radchenko's avatar Oleksandr Radchenko
Browse files

MAGETWO-59074: Creditmemo return to stock only one unit of configurable product

parent 38ecb6e3
Branches
No related merge requests found
...@@ -55,20 +55,23 @@ class RefundOrderInventoryObserver implements ObserverInterface ...@@ -55,20 +55,23 @@ class RefundOrderInventoryObserver implements ObserverInterface
* @param StockManagementInterface $stockManagement * @param StockManagementInterface $stockManagement
* @param \Magento\CatalogInventory\Model\Indexer\Stock\Processor $stockIndexerProcessor * @param \Magento\CatalogInventory\Model\Indexer\Stock\Processor $stockIndexerProcessor
* @param \Magento\Catalog\Model\Indexer\Product\Price\Processor $priceIndexer * @param \Magento\Catalog\Model\Indexer\Product\Price\Processor $priceIndexer
* @param \Magento\Framework\App\ObjectManager $returnProcessor * @param ReturnProcessor $returnProcessor
* @param \Magento\Sales\Api\OrderRepositoryInterface $orderRepository
*/ */
public function __construct( public function __construct(
StockConfigurationInterface $stockConfiguration, StockConfigurationInterface $stockConfiguration,
StockManagementInterface $stockManagement, StockManagementInterface $stockManagement,
\Magento\CatalogInventory\Model\Indexer\Stock\Processor $stockIndexerProcessor, \Magento\CatalogInventory\Model\Indexer\Stock\Processor $stockIndexerProcessor,
\Magento\Catalog\Model\Indexer\Product\Price\Processor $priceIndexer, \Magento\Catalog\Model\Indexer\Product\Price\Processor $priceIndexer,
\Magento\Framework\App\ObjectManager $returnProcessor \Magento\SalesInventory\Model\Order\ReturnProcessor $returnProcessor,
\Magento\Sales\Api\OrderRepositoryInterface $orderRepository
) { ) {
$this->stockConfiguration = $stockConfiguration; $this->stockConfiguration = $stockConfiguration;
$this->stockManagement = $stockManagement; $this->stockManagement = $stockManagement;
$this->stockIndexerProcessor = $stockIndexerProcessor; $this->stockIndexerProcessor = $stockIndexerProcessor;
$this->priceIndexer = $priceIndexer; $this->priceIndexer = $priceIndexer;
$this->returnProcessor = $returnProcessor; $this->returnProcessor = $returnProcessor;
$this->orderRepository = $orderRepository;
} }
/** /**
...@@ -81,7 +84,7 @@ class RefundOrderInventoryObserver implements ObserverInterface ...@@ -81,7 +84,7 @@ class RefundOrderInventoryObserver implements ObserverInterface
{ {
/* @var $creditmemo \Magento\Sales\Model\Order\Creditmemo */ /* @var $creditmemo \Magento\Sales\Model\Order\Creditmemo */
$creditmemo = $observer->getEvent()->getCreditmemo(); $creditmemo = $observer->getEvent()->getCreditmemo();
$order = $this->getOrderRepository()->get($creditmemo->getOrderId()); $order = $this->orderRepository->get($creditmemo->getOrderId());
$returnToStockItems = []; $returnToStockItems = [];
foreach ($creditmemo->getItems() as $item) { foreach ($creditmemo->getItems() as $item) {
if ($item->getBackToStock()) { if ($item->getBackToStock()) {
...@@ -95,20 +98,4 @@ class RefundOrderInventoryObserver implements ObserverInterface ...@@ -95,20 +98,4 @@ class RefundOrderInventoryObserver implements ObserverInterface
$this->stockConfiguration->isAutoReturnEnabled() $this->stockConfiguration->isAutoReturnEnabled()
); );
} }
/**
* Get OrderRepository
*
* @return OrderRepository
* @deprecated
*/
private function getOrderRepository()
{
if (!$this->orderRepository) {
$this->orderRepository = \Magento\Framework\App\ObjectManager::getInstance()
->get(OrderRepository::class);
}
return $this->orderRepository;
}
} }
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment