From fc456c785f00757a13a8fce4e47efa8a08a52889 Mon Sep 17 00:00:00 2001 From: rahul shukla Date: Mon, 3 Jun 2019 16:29:00 +0530 Subject: [PATCH] issue #850 --- packages/Webkul/Checkout/src/Cart.php | 6 +++--- .../Shop/src/Http/Controllers/CartController.php | 4 ++-- packages/Webkul/Shop/src/Http/routes.php | 2 +- .../src/Resources/views/products/buy-now.blade.php | 2 +- .../src/Resources/views/products/view.blade.php | 14 ++++++++++++++ .../products/view/configurable-options.blade.php | 6 ++++-- 6 files changed, 25 insertions(+), 9 deletions(-) diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php index 490ef0be4..5850f8d52 100755 --- a/packages/Webkul/Checkout/src/Cart.php +++ b/packages/Webkul/Checkout/src/Cart.php @@ -1180,7 +1180,7 @@ class Cart { * * @return response mixed */ - public function proceedToBuyNow($id) { + public function proceedToBuyNow($id, $quantity) { $product = $this->product->findOneByField('id', $id); if ($product->type == 'configurable') { @@ -1195,7 +1195,7 @@ class Cart { $data['product'] = $parent->id; $data['selected_configurable_option'] = $simpleOrVariant->id; - $data['quantity'] = 1; + $data['quantity'] = $quantity; $data['super_attribute'] = 'From Buy Now'; $result = $this->add($parent->id, $data); @@ -1204,7 +1204,7 @@ class Cart { } else { $data['product'] = $id; $data['is_configurable'] = false; - $data['quantity'] = 1; + $data['quantity'] = $quantity; $result = $this->add($id, $data); diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index b1d690405..afbff7de4 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -209,11 +209,11 @@ class CartController extends Controller return redirect()->route('shop.products.index', $slug); } - public function buyNow($id) + public function buyNow($id, $quantity) { Event::fire('checkout.cart.add.before', $id); - $result = Cart::proceedToBuyNow($id); + $result = Cart::proceedToBuyNow($id, $quantity); Event::fire('checkout.cart.add.after', $result); diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php index 37cf3089a..79e570ca3 100755 --- a/packages/Webkul/Shop/src/Http/routes.php +++ b/packages/Webkul/Shop/src/Http/routes.php @@ -86,7 +86,7 @@ Route::group(['middleware' => ['web', 'locale', 'theme', 'currency']], function ])->name('shop.checkout.success'); //Shop buynow button action - Route::get('buynow/{id}', 'Webkul\Shop\Http\Controllers\CartController@buyNow')->name('shop.product.buynow'); + Route::get('buynow/{id}/{quantity}', 'Webkul\Shop\Http\Controllers\CartController@buyNow')->name('shop.product.buynow'); //Shop buynow button action Route::get('move/wishlist/{id}', 'Webkul\Shop\Http\Controllers\CartController@moveToWishlist')->name('shop.movetowishlist'); diff --git a/packages/Webkul/Shop/src/Resources/views/products/buy-now.blade.php b/packages/Webkul/Shop/src/Resources/views/products/buy-now.blade.php index e38dcda14..ef7a1176e 100755 --- a/packages/Webkul/Shop/src/Resources/views/products/buy-now.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/products/buy-now.blade.php @@ -1,6 +1,6 @@ {!! view_render_event('bagisto.shop.products.buy_now.before', ['product' => $product]) !!} - diff --git a/packages/Webkul/Shop/src/Resources/views/products/view.blade.php b/packages/Webkul/Shop/src/Resources/views/products/view.blade.php index f26b42104..16f53e156 100755 --- a/packages/Webkul/Shop/src/Resources/views/products/view.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/products/view.blade.php @@ -204,6 +204,20 @@ } } document.getElementById("quantity").value = quantity; + + var buyNowLink = $('.btn.buynow').attr('data-href'); + var splitted = buyNowLink.split("/"); + lastItem = splitted[splitted.length - 2]; + + splitted.pop(); + splitted.pop(); + + var joined = splitted.join('/'); + + var newBuyNowUrl = joined + '/' + lastItem + '/' + quantity; + + $('.btn.buynow').attr('data-href', newBuyNowUrl); + event.preventDefault(); } diff --git a/packages/Webkul/Shop/src/Resources/views/products/view/configurable-options.blade.php b/packages/Webkul/Shop/src/Resources/views/products/view/configurable-options.blade.php index 40bc27b8a..1f8a305a4 100755 --- a/packages/Webkul/Shop/src/Resources/views/products/view/configurable-options.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/products/view/configurable-options.blade.php @@ -143,17 +143,19 @@ //buy now anchor href changer with options var buyNowLink = $('.btn.buynow').attr('data-href'); + var quantity = document.getElementById('quantity').value; if (this.selectedProductId != '') { var splitted = buyNowLink.split("/"); - var lastItem = splitted.pop(); + splitted.pop(); + splitted.pop(); lastItem = this.selectedProductId; var joined = splitted.join('/'); - var newBuyNowUrl = joined + '/' + lastItem; + var newBuyNowUrl = joined + '/' + lastItem + '/' + quantity; $('.btn.buynow').attr('data-href', newBuyNowUrl); }