diff --git a/packages/Webkul/API/Http/Controllers/Shop/CheckoutController.php b/packages/Webkul/API/Http/Controllers/Shop/CheckoutController.php index 472b4601d..79c077e4f 100644 --- a/packages/Webkul/API/Http/Controllers/Shop/CheckoutController.php +++ b/packages/Webkul/API/Http/Controllers/Shop/CheckoutController.php @@ -168,13 +168,9 @@ class CheckoutController extends Controller */ public function checkMinimumOrder() { - $cart = Cart::getCart(); - - $cartBaseSubTotal = (float) $cart->base_sub_total; - $minimumOrderAmount = (float) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0; - $status = $cartBaseSubTotal >= $minimumOrderAmount; + $status = Cart::checkMinimumOrder(); return response()->json([ 'status' => ! $status ? false : true, diff --git a/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php b/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php index d173e83d2..40c320433 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php @@ -230,7 +230,7 @@ class OnepageController extends Controller $minimumOrderAmount = (int) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0; - if (! ($cart->base_sub_total >= $minimumOrderAmount)) { + if (! $cart->checkMinimumOrder()) { throw new \Exception(trans('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount])); } diff --git a/packages/Webkul/Shop/src/Resources/assets/js/components/checkout/proceed-to-checkout.vue b/packages/Webkul/Shop/src/Resources/assets/js/components/checkout/proceed-to-checkout.vue index 809e3b858..72d06c91e 100644 --- a/packages/Webkul/Shop/src/Resources/assets/js/components/checkout/proceed-to-checkout.vue +++ b/packages/Webkul/Shop/src/Resources/assets/js/components/checkout/proceed-to-checkout.vue @@ -9,24 +9,17 @@ export default { 'addClass', 'text', 'cartDetails', - 'minimumOrderAmount', + 'isMinimumOrderCompleted', 'minimumOrderMessage' ], methods: { checkMinimumOrder: function (e) { - let base_sub_total = parseFloat(this.getCartDetails().base_sub_total); - let minimumOrderAmount = parseFloat(this.minimumOrderAmount); - - if (! (base_sub_total >= minimumOrderAmount)) { + if (! this.isMinimumOrderCompleted) { e.preventDefault(); window.flashMessages = [{'type': 'alert-warning', 'message': this.minimumOrderMessage}]; this.$root.addFlashMessages(); } - }, - - getCartDetails: function () { - return JSON.parse(this.cartDetails); } } } diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php index d3d24e235..c02b87872 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php @@ -138,8 +138,7 @@ href="{{ route('shop.checkout.onepage.index') }}" add-class="btn btn-lg btn-primary" text="{{ __('shop::app.checkout.cart.proceed-to-checkout') }}" - cart-details="{{ $cart }}" - minimum-order-amount="{{ $minimumOrderAmount }}" + is-minimum-order-completed="{{ $cart->checkMinimumOrder() }}" minimum-order-message="{{ __('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) }}"> @endif diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/cart/mini-cart.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/cart/mini-cart.blade.php index b7802738e..68e69eeb3 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/cart/mini-cart.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/cart/mini-cart.blade.php @@ -96,8 +96,7 @@ href="{{ route('shop.checkout.onepage.index') }}" add-class="btn btn-primary btn-lg" text="{{ __('shop::app.minicart.checkout') }}" - cart-details="{{ $cart }}" - minimum-order-amount="{{ $minimumOrderAmount }}" + is-minimum-order-completed="{{ $cart->checkMinimumOrder() }}" minimum-order-message="{{ __('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) }}" style="color: white;"> diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/mini-cart.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/mini-cart.vue index 88a9115e5..39acf0c59 100644 --- a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/mini-cart.vue +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/mini-cart.vue @@ -74,7 +74,7 @@ 'checkoutUrl', 'checkoutText', 'subtotalText', - 'minimumOrderAmount', + 'isMinimumOrderCompleted', 'minimumOrderMessage' ], @@ -122,10 +122,7 @@ }, checkMinimumOrder: function (e) { - let base_sub_total = parseFloat(this.cartInformation.raw.base_sub_total); - let minimumOrderAmount = parseFloat(this.minimumOrderAmount); - - if (! (base_sub_total >= minimumOrderAmount)) { + if (! this.isMinimumOrderCompleted) { e.preventDefault(); window.showAlert(`alert-warning`, 'Warning', this.minimumOrderMessage); } diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/proceed-to-checkout.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/proceed-to-checkout.vue index 8cc98de24..030748e56 100644 --- a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/proceed-to-checkout.vue +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/proceed-to-checkout.vue @@ -9,23 +9,16 @@ export default { 'addClass', 'text', 'cartDetails', - 'minimumOrderAmount', + 'isMinimumOrderCompleted', 'minimumOrderMessage' ], methods: { checkMinimumOrder: function (e) { - let base_sub_total = parseFloat(this.getCartDetails().base_sub_total); - let minimumOrderAmount = parseFloat(this.minimumOrderAmount); - - if (! (base_sub_total >= minimumOrderAmount)) { + if (! this.isMinimumOrderCompleted) { e.preventDefault(); window.showAlert(`alert-warning`, 'Warning', this.minimumOrderMessage); } - }, - - getCartDetails: function () { - return JSON.parse(this.cartDetails); } } } diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/mini-cart.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/mini-cart.blade.php index 4d522bf28..a56720004 100644 --- a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/mini-cart.blade.php +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/cart/mini-cart.blade.php @@ -9,7 +9,7 @@ checkout-text="{{ __('shop::app.minicart.checkout') }}" checkout-url="{{ route('shop.checkout.onepage.index') }}" subtotal-text="{{ __('shop::app.checkout.cart.cart-subtotal') }}" - minimum-order-amount="{{ $minimumOrderAmount }}" + is-minimum-order-completed="{{ Cart::checkMinimumOrder() }}" minimum-order-message="{{ __('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) }}"> \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/total/summary.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/total/summary.blade.php index cb44a0ebf..767aed680 100644 --- a/packages/Webkul/Velocity/src/Resources/views/shop/checkout/total/summary.blade.php +++ b/packages/Webkul/Velocity/src/Resources/views/shop/checkout/total/summary.blade.php @@ -53,8 +53,7 @@ href="{{ route('shop.checkout.onepage.index') }}" add-class="theme-btn text-uppercase col-12 remove-decoration fw6 text-center" text="{{ __('velocity::app.checkout.proceed') }}" - cart-details="{{ $cart }}" - minimum-order-amount="{{ $minimumOrderAmount }}" + is-minimum-order-completed="{{ $cart->checkMinimumOrder() }}" minimum-order-message="{{ __('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) }}">