From 559954e88dcfc013f21632999db19d016898a5fb Mon Sep 17 00:00:00 2001 From: Pranshu Tomar Date: Tue, 28 Apr 2020 19:22:30 +0530 Subject: [PATCH 1/3] Issue #2954 fixed --- CHANGELOG for v1.x.x.md | 2 ++ packages/Webkul/Checkout/src/Cart.php | 4 ++-- packages/Webkul/Shop/src/Http/Controllers/CartController.php | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG for v1.x.x.md b/CHANGELOG for v1.x.x.md index 0f9ccf3d8..ef86b279e 100644 --- a/CHANGELOG for v1.x.x.md +++ b/CHANGELOG for v1.x.x.md @@ -54,6 +54,8 @@ * #2943 [fixed] - Scroll images is not working +* #2954 [fixed] - The merging cart function does not work when already added all items of product into customer cart + ## **v1.1.0 (24th of March 2020)** - *Release* diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php index 6032735d7..56fe4ac7f 100755 --- a/packages/Webkul/Checkout/src/Cart.php +++ b/packages/Webkul/Checkout/src/Cart.php @@ -368,6 +368,8 @@ class Cart continue; } + $found = true; + $cartItem->quantity = $newQuantity = $cartItem->quantity + $guestCartItem->quantity; if (! $this->isItemHaveQuantity($cartItem)) { @@ -387,8 +389,6 @@ class Cart $guestCart->items->forget($key); $this->cartItemRepository->delete($guestCartItem->id); - - $found = true; } if (! $found) { diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index 74b3253b9..32c942eae 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -52,6 +52,8 @@ class CartController extends Controller */ public function index() { + Cart::mergeCart(); + Cart::collectTotals(); return view($this->_config['view'])->with('cart', Cart::getCart()); From 16fcb02502a97979461b3053a2b485724f5876ee Mon Sep 17 00:00:00 2001 From: Pranshu Tomar Date: Tue, 28 Apr 2020 19:32:50 +0530 Subject: [PATCH 2/3] Removed unnecessary code from CartController --- packages/Webkul/Shop/src/Http/Controllers/CartController.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index 32c942eae..74b3253b9 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -52,8 +52,6 @@ class CartController extends Controller */ public function index() { - Cart::mergeCart(); - Cart::collectTotals(); return view($this->_config['view'])->with('cart', Cart::getCart()); From 1a716047ac3607272a3c08dbb8df78d3a8046eea Mon Sep 17 00:00:00 2001 From: Pranshu Tomar Date: Tue, 28 Apr 2020 19:57:30 +0530 Subject: [PATCH 3/3] Issue #2954 fixed --- packages/Webkul/Checkout/src/Cart.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php index 56fe4ac7f..cae96aadf 100755 --- a/packages/Webkul/Checkout/src/Cart.php +++ b/packages/Webkul/Checkout/src/Cart.php @@ -372,6 +372,10 @@ class Cart $cartItem->quantity = $newQuantity = $cartItem->quantity + $guestCartItem->quantity; + if ($cartItem->quantity > $cartItem->product->getTypeInstance()->totalQuantity()) { + $cartItem->quantity = $newQuantity = $cartItem->product->getTypeInstance()->totalQuantity(); + } + if (! $this->isItemHaveQuantity($cartItem)) { $this->cartItemRepository->delete($guestCartItem->id);