From 57f3cbb8af3fe7a9b5c9920702f8bb7fd6206653 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Fri, 6 Sep 2019 16:58:35 +0530 Subject: [PATCH] JSON parsing in cart rule update form fixes --- .../Resources/views/promotions/cart-rule/edit.blade.php | 8 +++----- .../Discount/src/Http/Controllers/CartRuleController.php | 4 ++-- 2 files changed, 5 insertions(+), 7 deletions(-) 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 7926c31c4..6086c1d61 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 @@ -582,10 +582,10 @@ this.match_criteria = this.conditions_list.pop().criteria; } - if (JSON.parse(JSON.parse(data.actions).attribute_conditions)) { - this.category_values = JSON.parse(JSON.parse(data.actions).attribute_conditions).categories; + if (JSON.parse(data.actions).attribute_conditions) { + this.category_values = JSON.parse(data.actions).attribute_conditions.categories; - this.attribute_values = JSON.parse(JSON.parse(data.actions).attribute_conditions).attributes; + this.attribute_values = JSON.parse(data.actions).attribute_conditions.attributes; if (this.category_values == null) { this.category_values = []; @@ -595,8 +595,6 @@ this.attribute_values = []; } - console.log(this.category_values); - // creating options and has option param on the frontend for (i in this.attribute_values) { for (j in this.attribute_input) { diff --git a/packages/Webkul/Discount/src/Http/Controllers/CartRuleController.php b/packages/Webkul/Discount/src/Http/Controllers/CartRuleController.php index 549d50408..ccfc78071 100644 --- a/packages/Webkul/Discount/src/Http/Controllers/CartRuleController.php +++ b/packages/Webkul/Discount/src/Http/Controllers/CartRuleController.php @@ -177,7 +177,7 @@ class CartRuleController extends Controller $attribute_conditions = json_decode($attribute_conditions); - if (! isset($attribute_conditions) || $attribute_conditions == "[]" || $attribute_conditions == "" || ! (count($attribute_conditions->categories) && count($attribute_conditions->attributes))) { + if (! isset($attribute_conditions) || ! (count($attribute_conditions->categories) && count($attribute_conditions->attributes))) { $data['uses_attribute_conditions'] = 0; $data['actions'] = [ @@ -192,7 +192,7 @@ class CartRuleController extends Controller 'action_type' => $data['action_type'], 'disc_amount' => $data['disc_amount'], 'disc_quantity' => $data['disc_quantity'], - 'attribute_conditions' => $attribute_conditions + 'attribute_conditions' => json_encode($attribute_conditions) ]; }