Skip to content

Commit 797e547

Browse files
committed
ACP2E-2978: Saving product by admin user with different role scope overwrites/deletes existing Related product information in the product
1 parent a0f3325 commit 797e547

File tree

1 file changed

+17
-15
lines changed
  • app/code/Magento/Catalog/Controller/Adminhtml/Product/Initialization

1 file changed

+17
-15
lines changed

app/code/Magento/Catalog/Controller/Adminhtml/Product/Initialization/Helper.php

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -309,25 +309,27 @@ protected function setProductLinks(Product $product)
309309
$isReadOnlyUpSellItems = true;
310310
}
311311
}
312-
if (isset($links[$linkType]) && !$readonly) {
313-
foreach ((array) $links[$linkType] as $linkData) {
314-
if (empty($linkData['id'])) {
315-
continue;
312+
if ($isReadOnlyRelatedItems && $isReadOnlyUpSellItems) {
313+
$productLinks = null;
314+
break;
315+
} else {
316+
if (isset($links[$linkType]) && !$readonly) {
317+
foreach ((array) $links[$linkType] as $linkData) {
318+
if (empty($linkData['id'])) {
319+
continue;
320+
}
321+
322+
$linkProduct = $this->productRepository->getById($linkData['id']);
323+
$link = $this->productLinkFactory->create();
324+
$link->setSku($product->getSku())
325+
->setLinkedProductSku($linkProduct->getSku())
326+
->setLinkType($linkType)
327+
->setPosition(isset($linkData['position']) ? (int) $linkData['position'] : 0);
328+
$productLinks[] = $link;
316329
}
317-
318-
$linkProduct = $this->productRepository->getById($linkData['id']);
319-
$link = $this->productLinkFactory->create();
320-
$link->setSku($product->getSku())
321-
->setLinkedProductSku($linkProduct->getSku())
322-
->setLinkType($linkType)
323-
->setPosition(isset($linkData['position']) ? (int) $linkData['position'] : 0);
324-
$productLinks[] = $link;
325330
}
326331
}
327332
}
328-
if ($isReadOnlyRelatedItems && $isReadOnlyUpSellItems) {
329-
$productLinks = [];
330-
}
331333

332334
return $product->setProductLinks($productLinks);
333335
}

0 commit comments

Comments
 (0)