diff --git a/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/create.blade.php b/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/create.blade.php index 0f2d6d222..e9721e456 100644 --- a/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/create.blade.php @@ -476,7 +476,6 @@ this.conditions_list.push(this.cart_object); this.cart_object = { - criteria: null, attribute: null, condition: null, value: [] @@ -526,7 +525,7 @@ onSubmit: function (e) { if (this.conditions_list.length != 0) { - this.conditions_list.test_mode = this.match_criteria; + this.conditions_list.push({'criteria': this.match_criteria}); } this.all_conditions = JSON.stringify(this.conditions_list); diff --git a/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/edit.blade.php index ce21944ca..66d974f05 100644 --- a/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/promotions/cart-rule/edit.blade.php @@ -567,12 +567,32 @@ }, onSubmit: function (e) { + if (this.conditions_list.length != 0) { - // if (this.conditions_list.length != 0) { - // this.conditions_list.push(this.match_criteria); - // } + indexes = []; - console.log(JSON.stringify(this.conditions_list)); + for (i in this.conditions_list) { + if (this.conditions_list[i].hasOwnProperty('criteria') && ! this.conditions_list[i].hasOwnProperty('attribute')) { + indexes.push(i); + } + } + + if (indexes.length > 1) { + for (i in indexes) { + console.log(indexes[i]); + if (this.conditions_list.length ) + this.conditions_list.splice(indexes[i], 1); + } + } else { + + } + + return false; + + this.conditions_list.push({'criteria': this.match_criteria}); + } + + return false; this.all_conditions = JSON.stringify(this.conditions_list); diff --git a/packages/Webkul/Discount/src/Helpers/Discount.php b/packages/Webkul/Discount/src/Helpers/Discount.php index f48e14796..3d7b7ab39 100644 --- a/packages/Webkul/Discount/src/Helpers/Discount.php +++ b/packages/Webkul/Discount/src/Helpers/Discount.php @@ -502,6 +502,8 @@ class Discount } protected function testIfAllConditionAreTrue($conditions, $cart) { + array_pop($conditions); + $shipping_address = $cart->getShippingAddressAttribute() ?? ''; $shipping_method = $cart->shipping_method ?? ''; @@ -524,6 +526,7 @@ class Discount $test_conditions = config('pricerules.cart.conditions'); $result = 1; + foreach ($conditions as $condition) { $actual_value = ${$condition->attribute}; $test_value = $condition->value; diff --git a/packages/Webkul/Discount/src/Http/Controllers/CartRuleController.php b/packages/Webkul/Discount/src/Http/Controllers/CartRuleController.php index 6853cd9d2..d23bf0715 100644 --- a/packages/Webkul/Discount/src/Http/Controllers/CartRuleController.php +++ b/packages/Webkul/Discount/src/Http/Controllers/CartRuleController.php @@ -79,7 +79,7 @@ class CartRuleController extends Controller } /** - * @return Redirect + * @return redirect */ public function store() { @@ -451,7 +451,9 @@ class CartRuleController extends Controller } /** - * Delete + * Deletes the cart rule + * + * @return JSON */ public function destroy($id) { diff --git a/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php b/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php index eaf2454d6..587bd800b 100755 --- a/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php @@ -99,13 +99,13 @@ class OnepageController extends Controller $data['billing']['address1'] = implode(PHP_EOL, array_filter($data['billing']['address1'])); $data['shipping']['address1'] = implode(PHP_EOL, array_filter($data['shipping']['address1'])); - if (Cart::hasError() || !Cart::saveCustomerAddress($data) || ! $rates = Shipping::collectRates()) - return response()->json(['redirect_url' => route('shop.checkout.cart.index')], 403); - Cart::applyNonCoupon(); Cart::collectTotals(); + if (Cart::hasError() || !Cart::saveCustomerAddress($data) || ! $rates = Shipping::collectRates()) + return response()->json(['redirect_url' => route('shop.checkout.cart.index')], 403); + return response()->json($rates); } @@ -118,13 +118,13 @@ class OnepageController extends Controller { $shippingMethod = request()->get('shipping_method'); - if (Cart::hasError() || !$shippingMethod || !Cart::saveShippingMethod($shippingMethod)) - return response()->json(['redirect_url' => route('shop.checkout.cart.index')], 403); - Cart::applyNonCoupon(); Cart::collectTotals(); + if (Cart::hasError() || !$shippingMethod || !Cart::saveShippingMethod($shippingMethod)) + return response()->json(['redirect_url' => route('shop.checkout.cart.index')], 403); + return response()->json(Payment::getSupportedPaymentMethods()); } @@ -137,15 +137,15 @@ class OnepageController extends Controller { $payment = request()->get('payment'); + Cart::applyNonCoupon(); + + Cart::collectTotals(); + if (Cart::hasError() || !$payment || !Cart::savePaymentMethod($payment)) return response()->json(['redirect_url' => route('shop.checkout.cart.index')], 403); $cart = Cart::getCart(); - Cart::applyNonCoupon(); - - Cart::collectTotals(); - return response()->json([ 'jump_to_section' => 'review', 'html' => view('shop::checkout.onepage.review', compact('cart', 'rule'))->render() 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 02e593fbc..93613d39c 100755 --- a/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php @@ -71,8 +71,12 @@ -