Skip to content

Commit 7e22d1b

Browse files
committed
ACP2E-2174: allow qty change for cart items without errors
1 parent 927e461 commit 7e22d1b

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

app/code/Magento/Checkout/Controller/Cart/UpdateItemQty.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,9 @@ private function updateItemQuantity(Item $item, float $qty)
131131
if ($qty > 0) {
132132
$item->clearMessage();
133133
$item->setHasError(false);
134-
$oldQty = $item->getQty();
135134
$item->setQty($qty);
136135

137136
if ($item->getHasError()) {
138-
$item->setQty($oldQty);
139137
throw new LocalizedException(__($item->getMessage()));
140138
}
141139
}

app/code/Magento/Checkout/Model/Cart.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
* @SuppressWarnings(PHPMD.CookieAndSessionMisuse)
2020
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
2121
* @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
22+
* @SuppressWarnings(PHPMD.TooManyPublicMethods)
2223
* @deprecated 100.1.0 Use \Magento\Quote\Model\Quote instead
2324
* @see \Magento\Quote\Api\Data\CartInterface
2425
* @since 100.0.2
@@ -535,6 +536,9 @@ public function updateItems($data)
535536

536537
$qty = isset($itemInfo['qty']) ? (double)$itemInfo['qty'] : false;
537538
if ($qty > 0) {
539+
if ($item->getHasError() && !$item->getProduct()->isInStock()) {
540+
$item->setUseOldQty(true);
541+
}
538542
$item->clearMessage();
539543
$item->setHasError(false);
540544
$item->setQty($qty);

0 commit comments

Comments
 (0)