From 3c16cbba737731f7a9a65896eb59b66563176e83 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Sat, 8 Jun 2019 16:13:17 +0530 Subject: [PATCH] provision to remove the couponable and non couponable rule had been added --- .../Webkul/Discount/src/Helpers/Discount.php | 43 +++++++++++++++++++ .../src/Http/Controllers/CartController.php | 8 ++++ packages/Webkul/Shop/src/Http/routes.php | 2 + .../views/checkout/onepage.blade.php | 18 ++++---- .../views/checkout/onepage/review.blade.php | 10 ----- .../views/checkout/success.blade.php | 3 -- 6 files changed, 62 insertions(+), 22 deletions(-) diff --git a/packages/Webkul/Discount/src/Helpers/Discount.php b/packages/Webkul/Discount/src/Helpers/Discount.php index b14cb15a3..e1e27ebf9 100644 --- a/packages/Webkul/Discount/src/Helpers/Discount.php +++ b/packages/Webkul/Discount/src/Helpers/Discount.php @@ -240,6 +240,7 @@ class Discount $cart = \Cart::getCart(); $report = array(); $result = 0; + //check conditions if ($rule->conditions != null) { $conditions = json_decode(json_decode($rule->conditions)); @@ -305,6 +306,48 @@ class Discount return $report; } + public function removeNonCoupon() + { + $cart = \Cart::getCart(); + + $nonCouponAbleRule = $this->cartRuleCart->findWhere([ + 'cart_id' => $cart->id + ]); + + if (count($couponAbleRule) && ! $couponAbleRule->first()->cart_rule->use_coupon) { + $result = $nonCouponAbleRule->delete(); + + if ($result) { + return true; + } else { + return false; + } + } else { + return false; + } + } + + public function removeCoupon() + { + $cart = \Cart::getCart(); + + $couponAbleRule = $this->cartRuleCart->findWhere([ + 'cart_id' => $cart->id + ]); + + if (count($couponAbleRule) && $couponAbleRule->first()->cart_rule->use_coupon) { + $result = $couponAbleRule->delete(); + + if ($result) { + return true; + } else { + return false; + } + } else { + return false; + } + } + protected function testIfAllConditionAreTrue($conditions, $cart) { $shipping_address = $cart->getShippingAddressAttribute(); diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index c005a22ee..a7a3fc6be 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -276,6 +276,14 @@ class CartController extends Controller return $nonCouponAbleRules; } + /** + * To save the discount values inside the tables of orders and cart + */ + public function saveDiscount() + { + return ['hellow']; + } + /** * To remove the currently active * couponable rule diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php index c97358e3a..59f63da37 100755 --- a/packages/Webkul/Shop/src/Http/routes.php +++ b/packages/Webkul/Shop/src/Http/routes.php @@ -41,6 +41,8 @@ Route::group(['middleware' => ['web', 'locale', 'theme', 'currency']], function Route::post('checkout/check/coupons', 'Webkul\Shop\Http\Controllers\CartController@applyCoupon')->name('shop.checkout.check.coupons'); + Route::post('checkout/save/discounts', 'Webkul\Shop\Http\Controllers\CartController@saveDiscount')->name('shop.checkout.save.discount'); + Route::post('checkout/fetch/noncoupon', 'Webkul\Shop\Http\Controllers\CartController@getNonCouponAbleRule')->name('shop.checkout.fetch.non-coupon'); Route::post('checkout/remove/coupon', 'Webkul\Shop\Http\Controllers\CartController@removeCoupon')->name('shop.checkout.remove.coupon'); diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php index ecb29a67a..26445833f 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php @@ -58,7 +58,7 @@
- +
@@ -343,6 +343,12 @@ placeOrder: function() { var this_this = this; + axios.post('{{ route('shop.checkout.save.discount') }}').then(function (response) { + console.log(response.data); + }).catch(function (error) { + console.log('error in saving discount'); + }); + this.disable_button = true; this.$http.post("{{ route('shop.checkout.save-order') }}", {'_token': "{{ csrf_token() }}"}) @@ -597,15 +603,9 @@ axios.post('{{ route('shop.checkout.remove.coupon') }}', { code: this_this.code }).then(function(response) { - if (response.data.message == true) { - this_this.discounted = null; - this_this.discount.amount = null; - this_this.discount.action = null; - this_this.discount.amount_given = null; - this_this.discount.message = null; - } + console.log(response.data); }).catch(function(error) { - this_this.discounted = false; + console.log(error.data); }); } } diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php index 09f4bcfa4..5341e42e4 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php @@ -87,8 +87,6 @@
{!! view_render_event('bagisto.shop.checkout.name.after', ['item' => $item]) !!} - - {!! view_render_event('bagisto.shop.checkout.price.before', ['item' => $item]) !!}
@@ -101,8 +99,6 @@
{!! view_render_event('bagisto.shop.checkout.price.after', ['item' => $item]) !!} - - {!! view_render_event('bagisto.shop.checkout.quantity.before', ['item' => $item]) !!}
@@ -116,27 +112,21 @@ {!! view_render_event('bagisto.shop.checkout.quantity.after', ['item' => $item]) !!} - @if ($product->type == 'configurable') {!! view_render_event('bagisto.shop.checkout.options.after', ['item' => $item]) !!}
- {{ Cart::getProductAttributeOptionDetails($item->child->product)['html'] }} -
{!! view_render_event('bagisto.shop.checkout.options.after', ['item' => $item]) !!} @endif
- @endforeach -
-
diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/success.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/success.blade.php index e17fbaae3..0608ef3dc 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/success.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/success.blade.php @@ -7,7 +7,6 @@ @section('content-wrapper')
-

{{ __('shop::app.checkout.success.thanks') }}

{{ __('shop::app.checkout.success.order-id-info', ['order_id' => $order->id]) }}

@@ -19,7 +18,5 @@ {{ __('shop::app.checkout.cart.continue-shopping') }}
-
- @endsection \ No newline at end of file