Skip to content

Commit ea71c5f

Browse files
author
Valeriy Nayda
committed
MAGETWO-62271: Inconsistent saving of Stock Data
1 parent 791c512 commit ea71c5f

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

app/code/Magento/Catalog/Model/Product/Copier.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,7 @@ public function copy(\Magento\Catalog\Model\Product $product)
6060
/** @var \Magento\Catalog\Model\Product $duplicate */
6161
$duplicate = $this->productFactory->create();
6262
$productData = $product->getData();
63-
if (isset($productData[ProductInterface::EXTENSION_ATTRIBUTES_KEY])) {
64-
$extensionAttributes = $productData[ProductInterface::EXTENSION_ATTRIBUTES_KEY];
65-
if (null !== $extensionAttributes->getStockItem()) {
66-
$extensionAttributes->setData('stock_item', null);
67-
}
68-
}
63+
$productData = $this->removeStockItem($productData);
6964
$duplicate->setData($productData);
7065
$duplicate->setOptions([]);
7166
$duplicate->setIsDuplicate(true);
@@ -123,4 +118,21 @@ private function getMetadataPool()
123118
}
124119
return $this->metadataPool;
125120
}
121+
122+
/**
123+
* Remove stock item
124+
*
125+
* @param array $productData
126+
* @return array
127+
*/
128+
private function removeStockItem(array $productData)
129+
{
130+
if (isset($productData[ProductInterface::EXTENSION_ATTRIBUTES_KEY])) {
131+
$extensionAttributes = $productData[ProductInterface::EXTENSION_ATTRIBUTES_KEY];
132+
if (null !== $extensionAttributes->getStockItem()) {
133+
$extensionAttributes->setData('stock_item', null);
134+
}
135+
}
136+
return $productData;
137+
}
126138
}

0 commit comments

Comments
 (0)