From 57d61918b96f2296e92f52402d0a27f81506eca2 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 4 Oct 2018 01:48:44 +0200 Subject: [PATCH 01/23] add minimum cost margin input box --- .../admin/pricing/views/html-package-pricing.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/backend/app/plugins/wiaas/includes/admin/pricing/views/html-package-pricing.php b/backend/app/plugins/wiaas/includes/admin/pricing/views/html-package-pricing.php index 2c4d51a..65fa7aa 100644 --- a/backend/app/plugins/wiaas/includes/admin/pricing/views/html-package-pricing.php +++ b/backend/app/plugins/wiaas/includes/admin/pricing/views/html-package-pricing.php @@ -144,6 +144,20 @@ if ( ! defined( 'ABSPATH' ) ) { }); +
+ '_wiaas_minimum_cost_margin', + 'name' => 'wiaas_minimum_cost_margin', + 'value' => $minimum_cost_margin, + 'label' => __( 'Minimum cost margin:', 'wiaas' ), + 'type' => 'number', + ) + ); + ?> +
+
Date: Thu, 4 Oct 2018 01:49:43 +0200 Subject: [PATCH 02/23] handle bundle minimum cost margin read and update --- .../pricing/class-wiaas-package-pricing.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php b/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php index 9ebbd32..fec77df 100644 --- a/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php +++ b/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php @@ -101,15 +101,20 @@ class Wiaas_Package_Pricing { return self::_get_package_pricing_commision($package); } + public static function get_package_minimum_cost_margin($package){ + return self::_get_package_minimum_cost_margin($package); + } + /** * Persist payment prices configuration for package * @param $package * @param $pricing_rules */ - public static function set_package_prices($package, $pricing_rules, $commision) { + public static function set_package_prices($package, $pricing_rules, $commision, $minimum_cost_margin) { if ( isset( $pricing_rules ) ) { $package->update_meta_data( '_wiaas_pricing_rules', $pricing_rules ); $package->update_meta_data('_package_pricing_commision', $commision, true); + $package->update_meta_data('_package_minimum_cost_margin', $minimum_cost_margin, true); } else { $package->delete_meta_data( '_wiaas_pricing_rules' ); } @@ -154,6 +159,16 @@ class Wiaas_Package_Pricing { return (float) $commision; } + + private static function _get_package_minimum_cost_margin($package) { + $minimum_cost_margin = $package->get_meta( '_package_minimum_cost_margin', true); + + if (!isset($minimum_cost_margin) || $minimum_cost_margin === '') { + return 0; + } + + return (float) $minimum_cost_margin; + } } Wiaas_Package_Pricing::init(); \ No newline at end of file From ea63870704bac8dc12139e55aa6bb0897f5bbbec Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 4 Oct 2018 01:57:44 +0200 Subject: [PATCH 03/23] use minimum cost margin in pricing panel --- .../admin/pricing/class-wiaas-admin-package-pricing.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/app/plugins/wiaas/includes/admin/pricing/class-wiaas-admin-package-pricing.php b/backend/app/plugins/wiaas/includes/admin/pricing/class-wiaas-admin-package-pricing.php index b493291..83dce8b 100644 --- a/backend/app/plugins/wiaas/includes/admin/pricing/class-wiaas-admin-package-pricing.php +++ b/backend/app/plugins/wiaas/includes/admin/pricing/class-wiaas-admin-package-pricing.php @@ -58,6 +58,7 @@ class Wiaas_Admin_Package_Pricing { $package = wc_get_product( $post->ID ); $pricing_rules = Wiaas_Package_Pricing::get_package_prices($package); $commission = Wiaas_Package_Pricing::get_package_pricing_commission($package); + $minimum_cost_margin = Wiaas_Package_Pricing::get_package_minimum_cost_margin($package); include 'views/html-package-pricing.php'; } @@ -71,7 +72,8 @@ class Wiaas_Admin_Package_Pricing { Wiaas_Package_Pricing::set_package_prices( wc_get_product( $post_id ), $_POST['wiaas_pricing_rules'], - $_POST['wiaas_pricing_rules_commision']); + $_POST['wiaas_pricing_rules_commision'], + $_POST['wiaas_minimum_cost_margin']); } } From ac9c89e8eb466a35e8c9c438c3b9fc50c8145a08 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 7 Oct 2018 14:09:11 +0200 Subject: [PATCH 04/23] update name to reflect logic behind margin --- .../class-wiaas-admin-package-pricing.php | 4 ++-- .../admin/pricing/views/html-package-pricing.php | 8 ++++---- .../pricing/class-wiaas-package-pricing.php | 16 ++++++++-------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/admin/pricing/class-wiaas-admin-package-pricing.php b/backend/app/plugins/wiaas/includes/admin/pricing/class-wiaas-admin-package-pricing.php index 83dce8b..f09555b 100644 --- a/backend/app/plugins/wiaas/includes/admin/pricing/class-wiaas-admin-package-pricing.php +++ b/backend/app/plugins/wiaas/includes/admin/pricing/class-wiaas-admin-package-pricing.php @@ -58,7 +58,7 @@ class Wiaas_Admin_Package_Pricing { $package = wc_get_product( $post->ID ); $pricing_rules = Wiaas_Package_Pricing::get_package_prices($package); $commission = Wiaas_Package_Pricing::get_package_pricing_commission($package); - $minimum_cost_margin = Wiaas_Package_Pricing::get_package_minimum_cost_margin($package); + $max_cost_margin = Wiaas_Package_Pricing::get_package_max_cost_margin($package); include 'views/html-package-pricing.php'; } @@ -73,7 +73,7 @@ class Wiaas_Admin_Package_Pricing { wc_get_product( $post_id ), $_POST['wiaas_pricing_rules'], $_POST['wiaas_pricing_rules_commision'], - $_POST['wiaas_minimum_cost_margin']); + $_POST['wiaas_max_cost_margin']); } } diff --git a/backend/app/plugins/wiaas/includes/admin/pricing/views/html-package-pricing.php b/backend/app/plugins/wiaas/includes/admin/pricing/views/html-package-pricing.php index 65fa7aa..ac092ff 100644 --- a/backend/app/plugins/wiaas/includes/admin/pricing/views/html-package-pricing.php +++ b/backend/app/plugins/wiaas/includes/admin/pricing/views/html-package-pricing.php @@ -148,10 +148,10 @@ if ( ! defined( 'ABSPATH' ) ) { '_wiaas_minimum_cost_margin', - 'name' => 'wiaas_minimum_cost_margin', - 'value' => $minimum_cost_margin, - 'label' => __( 'Minimum cost margin:', 'wiaas' ), + 'id' => '_wiaas_max_cost_margin', + 'name' => 'wiaas_max_cost_margin', + 'value' => $max_cost_margin, + 'label' => __( 'Max cost margin:', 'wiaas' ), 'type' => 'number', ) ); diff --git a/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php b/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php index fec77df..9270147 100644 --- a/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php +++ b/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php @@ -101,8 +101,8 @@ class Wiaas_Package_Pricing { return self::_get_package_pricing_commision($package); } - public static function get_package_minimum_cost_margin($package){ - return self::_get_package_minimum_cost_margin($package); + public static function get_package_max_cost_margin($package){ + return self::_get_package_max_cost_margin($package); } /** @@ -110,11 +110,11 @@ class Wiaas_Package_Pricing { * @param $package * @param $pricing_rules */ - public static function set_package_prices($package, $pricing_rules, $commision, $minimum_cost_margin) { + public static function set_package_prices($package, $pricing_rules, $commision, $max_cost_margin) { if ( isset( $pricing_rules ) ) { $package->update_meta_data( '_wiaas_pricing_rules', $pricing_rules ); $package->update_meta_data('_package_pricing_commision', $commision, true); - $package->update_meta_data('_package_minimum_cost_margin', $minimum_cost_margin, true); + $package->update_meta_data('_package_max_cost_margin', $max_cost_margin, true); } else { $package->delete_meta_data( '_wiaas_pricing_rules' ); } @@ -160,14 +160,14 @@ class Wiaas_Package_Pricing { return (float) $commision; } - private static function _get_package_minimum_cost_margin($package) { - $minimum_cost_margin = $package->get_meta( '_package_minimum_cost_margin', true); + private static function _get_package_max_cost_margin($package) { + $max_cost_margin = $package->get_meta( '_package_max_cost_margin', true); - if (!isset($minimum_cost_margin) || $minimum_cost_margin === '') { + if (!isset($max_cost_margin) || $max_cost_margin === '') { return 0; } - return (float) $minimum_cost_margin; + return (float) $max_cost_margin; } } From c7e8a526e02bdf8a9212680458a668a3564ec94f Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Tue, 9 Oct 2018 14:33:53 +0200 Subject: [PATCH 05/23] add custom package status --- .../wiaas/includes/class-wiaas-package.php | 1 + .../package/class-wiaas-package-status.php | 105 ++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 backend/app/plugins/wiaas/includes/package/class-wiaas-package-status.php diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-package.php b/backend/app/plugins/wiaas/includes/class-wiaas-package.php index 5c4dea8..137b999 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-package.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-package.php @@ -12,6 +12,7 @@ class Wiaas_Package { require_once dirname( __FILE__ ) . '/package/class-wiaas-package-option-groups.php'; require_once dirname( __FILE__ ) . '/package/class-wiaas-package-type.php'; + require_once dirname( __FILE__ ) . '/package/class-wiaas-package-status.php'; require_once dirname( __FILE__ ) . '/package/wiaas-package-functions.php'; diff --git a/backend/app/plugins/wiaas/includes/package/class-wiaas-package-status.php b/backend/app/plugins/wiaas/includes/package/class-wiaas-package-status.php new file mode 100644 index 0000000..cc1e339 --- /dev/null +++ b/backend/app/plugins/wiaas/includes/package/class-wiaas-package-status.php @@ -0,0 +1,105 @@ + _x( 'Package status', 'taxonomy general name', 'wiaas' ), + 'singular_name' => _x( 'Package status', 'taxonomy singular name', 'wiaas' ), + 'search_items' => __( 'Search Package statuses', 'wiaas' ), + 'all_items' => __( 'All Package statuses', 'wiaas' ), + 'parent_item' => __( 'Parent Package status', 'wiaas' ), + 'parent_item_colon' => __( 'Parent Package status:', 'wiaas' ), + 'edit_item' => __( 'Edit Package status', 'wiaas' ), + 'update_item' => __( 'Update Package status', 'wiaas' ), + 'add_new_item' => __( 'Add New Package status', 'wiaas' ), + 'new_item_name' => __( 'New Package status Name', 'wiaas' ), + 'menu_name' => __( 'Package status', 'wiaas' ), + ); + + $args = array( + 'hierarchical' => false, + 'labels' => $labels, + 'show_ui' => false, + 'show_admin_column' => true, + 'query_var' => true, + 'rewrite' => array( 'slug' => 'package_status' ), + ); + + register_taxonomy( 'package_status', array( 'product' ), $args ); + + + // Register available package statuses + + $statuses = [self::AVAILABLE, self::INVALID_MARGIN, self::INVALID_TEMPLATE]; + + foreach ($statuses as $status) { + wp_insert_term($status, 'package_status'); + } + } + + /** + * Retrieve available wiaas package statuses + * @return array + */ + public static function get_available_package_statuses() { + $statuses = get_terms( array( + 'taxonomy' => 'package_status', + 'hide_empty' => false, + ) ); + + return array_map(function($status) { + return $status->name; + }, $statuses); + } + + /** + * Retrieve package status for provided package id + * @param $package_id + * + * @return null + */ + public static function get_package_status($package_id) { + $terms = wp_get_object_terms($package_id, 'package_status'); + $package_status = isset($terms[0]) ? $terms[0]->name : null; + return $package_status; + } + + /** + * Set package status for provided package id + * @param $package_id + * @param $status + */ + public static function set_package_status($package_id, $status) { + + wp_delete_object_term_relationships( $package_id, 'package_status' ); + + if (isset($status)) { + wp_set_object_terms($package_id, $status, 'package_status', false); + } + } +} + +Wiaas_Package_Status::init(); \ No newline at end of file From afe4ac1676d21a89d3cec1a74ebc780976db1a22 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Tue, 9 Oct 2018 14:34:10 +0200 Subject: [PATCH 06/23] update package status on product update --- .../wiaas/includes/class-wiaas-product.php | 3 +- .../product/class-wiaas-product-hooks.php | 48 +++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-product.php b/backend/app/plugins/wiaas/includes/class-wiaas-product.php index 4ce8b29..0a5fd4d 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-product.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-product.php @@ -4,7 +4,8 @@ class Wiaas_Product { public static function init() { require_once dirname( __FILE__ ) . '/product/class-wiaas-product-category.php'; - require_once dirname( __FILE__ ) . '/product/class-wiaas-product-supplier.php'; + require_once dirname( __FILE__ ) . '/product/class-wiaas-product-supplier.php'; + require_once dirname( __FILE__ ) . '/product/class-wiaas-product-hooks.php'; } } diff --git a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php new file mode 100644 index 0000000..4e87d0e --- /dev/null +++ b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php @@ -0,0 +1,48 @@ +get_type() === WC_Product_Simple::get_type()){ + $product_price = Wiaas_Product_Pricing::get_product_price($product); + + $packages_containing_updated_product = wc_pb_get_bundled_product_map( $product ); + + foreach($packages_containing_updated_product as $index => $package_id){ + $package = new WC_Product_Bundle($package_id); + $package_total_cost = Wiaas_Pricing::get_package_total_cost($package); + $package_max_cost_margin = Wiaas_Package_Pricing::get_package_max_cost_margin($package); + + if (($package_max_cost_margin !== 0) && ($package_total_cost > $package_max_cost_margin)){ + Wiaas_Package_Status::set_package_status($package_id, Wiaas_Package_Status::INVALID_MARGIN); + }else{ + //TODO: Check if template is valid + Wiaas_Package_Status::set_package_status($package_id, Wiaas_Package_Status::AVAILABLE); + } + } + } + } + + +} + +Wiaas_Product_Hooks::init(); \ No newline at end of file From 1e9f959b16286c540669fc416d1d6b75f89ff792 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Wed, 10 Oct 2018 12:26:01 +0200 Subject: [PATCH 07/23] fetch only available packages --- .../wiaas/includes/class-wiaas-package.php | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-package.php b/backend/app/plugins/wiaas/includes/class-wiaas-package.php index 137b999..481455e 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-package.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-package.php @@ -17,6 +17,30 @@ class Wiaas_Package { require_once dirname( __FILE__ ) . '/package/wiaas-package-functions.php'; add_filter('woocommerce_rest_prepare_product_object', array(__CLASS__, 'transform_rest_package'), 999, 3); + + add_filter('woocommerce_rest_product_object_query', array( __CLASS__, 'edit_product_query'), 10, 2); + } + + + /** + * Change product query to fetch only available packages (available status) + * @param $query + * @param $instance + */ + public static function edit_product_query($query, $request){ + if (isset($request['id'])){ + return; + } + + $query['tax_query'] = array( + array( + 'taxonomy' => 'package_status', + 'field' => 'name', + 'terms' => Wiaas_Package_Status::AVAILABLE + ) + ); + + return $query; } /** From 63c1ee945fdd66edef3b63880b756802b8239b34 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Wed, 10 Oct 2018 12:40:20 +0200 Subject: [PATCH 08/23] prevent adding invalid package to cart --- backend/app/plugins/wiaas/includes/class-wiaas-cart.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-cart.php b/backend/app/plugins/wiaas/includes/class-wiaas-cart.php index 03e9f65..87f770d 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-cart.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-cart.php @@ -135,6 +135,11 @@ class Wiaas_Cart { return false; } + //Check if package is available for adding to cart + if (Wiaas_Package_Status::get_package_status($package_id) !== Wiaas_Package_Status::AVAILABLE){ + return false; + } + // Retrieve package country $country = Wiaas_Countries::get_package_country($package); From 8d2b1e52b4b6c206482f71f4c08581a87e2ad018 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Wed, 10 Oct 2018 14:41:57 +0200 Subject: [PATCH 09/23] prevent checkout with invalid package --- .../wiaas/includes/class-wiaas-checkout.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php index ae2324a..5bd6bb9 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php @@ -16,6 +16,20 @@ class Wiaas_Checkout { wc_set_time_limit( 0 ); do_action( 'woocommerce_before_checkout_process' ); + $customer = wp_get_current_user(); + + //check if any package became invalid + $items = WC()->cart->get_cart(); + foreach($items as $item) { + $item_id = $item['data']->get_id(); + if (wc_pb_is_bundle_container_cart_item($item) && + (Wiaas_Package_Status::get_package_status($item_id) !== Wiaas_Package_Status::AVAILABLE)){ + return false; + } + } + + $order_id = WC()->checkout()->create_order(array()); + $order = wc_get_order( $order_id ); // Check if cart empty before proceeding if (WC()->cart->is_empty()) { From bc74b504db589a14aea7191e2339db05c2935fba Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 11 Oct 2018 01:20:33 +0200 Subject: [PATCH 10/23] fix const declaration --- .../wiaas/includes/package/class-wiaas-package-status.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/package/class-wiaas-package-status.php b/backend/app/plugins/wiaas/includes/package/class-wiaas-package-status.php index cc1e339..8a7cfd5 100644 --- a/backend/app/plugins/wiaas/includes/package/class-wiaas-package-status.php +++ b/backend/app/plugins/wiaas/includes/package/class-wiaas-package-status.php @@ -12,9 +12,9 @@ if ( ! defined( 'ABSPATH' ) ) { class Wiaas_Package_Status { - public const AVAILABLE = 'available'; - public const INVALID_MARGIN = 'margin_exceeded'; - public const INVALID_TEMPLATE = 'invalid_template'; + const AVAILABLE = 'available'; + const INVALID_MARGIN = 'margin_exceeded'; + const INVALID_TEMPLATE = 'invalid_template'; public static function init() { add_action('init', array( __CLASS__, 'register_package_status_taxonomy' ) ); From 4f31cc94e8721491a25a8d1ba12aff970549f881 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 11 Oct 2018 03:00:44 +0200 Subject: [PATCH 11/23] update package status on package update --- .../product/class-wiaas-product-hooks.php | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php index 4e87d0e..c75b7be 100644 --- a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php +++ b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php @@ -29,20 +29,24 @@ class Wiaas_Product_Hooks { foreach($packages_containing_updated_product as $index => $package_id){ $package = new WC_Product_Bundle($package_id); - $package_total_cost = Wiaas_Pricing::get_package_total_cost($package); - $package_max_cost_margin = Wiaas_Package_Pricing::get_package_max_cost_margin($package); - - if (($package_max_cost_margin !== 0) && ($package_total_cost > $package_max_cost_margin)){ - Wiaas_Package_Status::set_package_status($package_id, Wiaas_Package_Status::INVALID_MARGIN); - }else{ - //TODO: Check if template is valid - Wiaas_Package_Status::set_package_status($package_id, Wiaas_Package_Status::AVAILABLE); - } + self::validate_package($package); } + }else if ($product->get_type() === WC_Product_Bundle::get_type()){ + self::validate_package($product); } } - + private static function validate_package($package){ + $package_total_cost = Wiaas_Pricing::get_package_total_cost($package); + $package_max_cost_margin = Wiaas_Package_Pricing::get_package_max_cost_margin($package); + file_put_contents('/home/bilal/wiaas.log', 'Paket ID : ' . $package->get_id() . ' Total cost = ' . $package_total_cost . ' Max margin = ' . $package_max_cost_margin . ' ||| ', FILE_APPEND); + if (($package_max_cost_margin != 0) && ($package_total_cost > $package_max_cost_margin)){ + Wiaas_Package_Status::set_package_status($package->get_id(), Wiaas_Package_Status::INVALID_MARGIN); + }else{ + //TODO: Check if template is valid + Wiaas_Package_Status::set_package_status($package->get_id(), Wiaas_Package_Status::AVAILABLE); + } + } } Wiaas_Product_Hooks::init(); \ No newline at end of file From 84ba574bcbd7d733cb428522140ccc06eef64715 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 11 Oct 2018 03:13:15 +0200 Subject: [PATCH 12/23] add detailed error message --- backend/app/plugins/wiaas/includes/class-wiaas-checkout.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php index 5bd6bb9..0cd07f4 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php @@ -24,7 +24,7 @@ class Wiaas_Checkout { $item_id = $item['data']->get_id(); if (wc_pb_is_bundle_container_cart_item($item) && (Wiaas_Package_Status::get_package_status($item_id) !== Wiaas_Package_Status::AVAILABLE)){ - return false; + throw new Exception('Package ' . $item['data']->get_title() . ' cannot be purchased at the moment'); } } From e4a7b28301dda6899d94ac1f74f485142fec357f Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 11 Oct 2018 03:24:19 +0200 Subject: [PATCH 13/23] fix tests --- .../unit-tests/pricing/test-wiaas-package-pricing.php | 3 ++- .../wiaas/tests/unit-tests/test-wiaas-pricing.php | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/app/plugins/wiaas/tests/unit-tests/pricing/test-wiaas-package-pricing.php b/backend/app/plugins/wiaas/tests/unit-tests/pricing/test-wiaas-package-pricing.php index 648b2dc..ab5c693 100644 --- a/backend/app/plugins/wiaas/tests/unit-tests/pricing/test-wiaas-package-pricing.php +++ b/backend/app/plugins/wiaas/tests/unit-tests/pricing/test-wiaas-package-pricing.php @@ -29,8 +29,9 @@ class Wiaas_Package_Pricing_Test extends Wiaas_Unit_Test_Case { ); $commision = 60; + $cost_margin = 0; - Wiaas_Package_Pricing::set_package_prices($package, $pricing_rules, $commision); + Wiaas_Package_Pricing::set_package_prices($package, $pricing_rules, $commision, $cost_margin); $configured_prices = Wiaas_Package_Pricing::get_package_prices($package); diff --git a/backend/app/plugins/wiaas/tests/unit-tests/test-wiaas-pricing.php b/backend/app/plugins/wiaas/tests/unit-tests/test-wiaas-pricing.php index 5d62fdd..83ad6d0 100644 --- a/backend/app/plugins/wiaas/tests/unit-tests/test-wiaas-pricing.php +++ b/backend/app/plugins/wiaas/tests/unit-tests/test-wiaas-pricing.php @@ -31,7 +31,8 @@ class Wiaas_Pricing_Test extends Wiaas_Unit_Test_Case { ) ); $commision = 50; - Wiaas_Package_Pricing::set_package_prices($package, $pricing_rules, $commision); + $cost_margin = 0; + Wiaas_Package_Pricing::set_package_prices($package, $pricing_rules, $commision, $cost_margin); $expected_prices = array( 'purchase' => array( @@ -229,7 +230,8 @@ class Wiaas_Pricing_Test extends Wiaas_Unit_Test_Case { ) ); $commision = 50; - Wiaas_Package_Pricing::set_package_prices($addon_package, $pricing_rules, $commision); + $cost_margin = 0; + Wiaas_Package_Pricing::set_package_prices($addon_package, $pricing_rules, $commision, $cost_margin); Wiaas_Package_Addon::set_package_addons($package, array($addon_package->get_id())); @@ -306,7 +308,8 @@ class Wiaas_Pricing_Test extends Wiaas_Unit_Test_Case { ) ); $commision = 50; - Wiaas_Package_Pricing::set_package_prices($option_package, $pricing_rules, $commision); + $cost_margin = 0; + Wiaas_Package_Pricing::set_package_prices($option_package, $pricing_rules, $commision, $cost_margin); Wiaas_Package_Option_Groups::set_package_option_groups($package, array( 'id' => 'option', From f3d911e5b144057154384df6e7fc3e00d2a504d5 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 11 Oct 2018 05:27:17 +0200 Subject: [PATCH 14/23] remove debug logging --- .../plugins/wiaas/includes/product/class-wiaas-product-hooks.php | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php index c75b7be..1dd7771 100644 --- a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php +++ b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php @@ -39,7 +39,6 @@ class Wiaas_Product_Hooks { private static function validate_package($package){ $package_total_cost = Wiaas_Pricing::get_package_total_cost($package); $package_max_cost_margin = Wiaas_Package_Pricing::get_package_max_cost_margin($package); - file_put_contents('/home/bilal/wiaas.log', 'Paket ID : ' . $package->get_id() . ' Total cost = ' . $package_total_cost . ' Max margin = ' . $package_max_cost_margin . ' ||| ', FILE_APPEND); if (($package_max_cost_margin != 0) && ($package_total_cost > $package_max_cost_margin)){ Wiaas_Package_Status::set_package_status($package->get_id(), Wiaas_Package_Status::INVALID_MARGIN); }else{ From 4bdad78ed895c2ca0f235ebfb51b44a5e09bb899 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 11 Oct 2018 05:53:39 +0200 Subject: [PATCH 15/23] add tests --- .../package/class-wiaas-package-status.php | 120 ++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 backend/app/plugins/wiaas/tests/unit-tests/package/class-wiaas-package-status.php diff --git a/backend/app/plugins/wiaas/tests/unit-tests/package/class-wiaas-package-status.php b/backend/app/plugins/wiaas/tests/unit-tests/package/class-wiaas-package-status.php new file mode 100644 index 0000000..f722379 --- /dev/null +++ b/backend/app/plugins/wiaas/tests/unit-tests/package/class-wiaas-package-status.php @@ -0,0 +1,120 @@ +assertInstanceOf(WP_Taxonomy::class, $taxonomy); + + $package_statuses = Wiaas_Package_Status::get_available_package_statuses(); + + $this->assertNotEmpty($package_statuses); + + $this->assertContains(Wiaas_Package_Status::AVAILABLE, $package_statuses); + } + + /** + * @covers Wiaas_Package_Type::set_package_status() + * @covers Wiaas_Package_Type::get_package_status() + */ + function test_adding_package_status() { + $package = $this->create_new_package(); + + Wiaas_Package_Status::set_package_status($package->get_id(), Wiaas_Package_Status::AVAILABLE); + + $package_status = Wiaas_Package_Status::get_package_status($package->get_id()); + + $this->assertNotNull($package_status); + $this->assertEquals($package_status, Wiaas_Package_Status::AVAILABLE); + } + + /** + * Test package status update on simple product price update + */ + function test_package_status_update_on_simple_product_price_update() { + $product1 = $this->create_new_product(20); + $this->add_product_category($product1, 'hardware'); + + $product2 = $this->create_new_product(20); + $this->add_product_category($product2, 'software'); + + $package = $this->create_new_package(); + + $this->add_products_to_package($package, array( $product1, $product2)); + + $pricing_rules = array( + 'purchase' => array( + 'minimal_fixed_price' => 100, + 'principal_amount' => 0, + 'minimal_services_price' => 0 + ), + 'purchase_24' => array( + 'minimal_fixed_price' => 100, + 'principal_amount' => 0, + 'minimal_services_price' => 100 + ), + 'managed_36' => array( + 'minimal_fixed_price' => 100, + 'principal_amount' => 100, + 'minimal_services_price' => 100 + ) + ); + $commision = 50; + $cost_margin = 100; + + Wiaas_Package_Pricing::set_package_prices($package, $pricing_rules, $commision, $cost_margin); + $this->assertEquals(Wiaas_Package_Status::get_package_status($package)->get_id(), Wiaas_Package_Status::AVAILABLE); + + $product1->set_price(1000); + $this->assertEquals(Wiaas_Package_Status::get_package_status($package)->get_id(), Wiaas_Package_Status::MARGIN_EXCEEDED); + + } + + /** + * Test package status update on cost margin update + */ + function test_package_status_update_on_margin_cost_update() { + $product1 = $this->create_new_product(20); + $this->add_product_category($product1, 'hardware'); + + $product2 = $this->create_new_product(20); + $this->add_product_category($product2, 'software'); + + $package = $this->create_new_package(); + + $this->add_products_to_package($package, array( $product1, $product2)); + + $pricing_rules = array( + 'purchase' => array( + 'minimal_fixed_price' => 100, + 'principal_amount' => 0, + 'minimal_services_price' => 0 + ), + 'purchase_24' => array( + 'minimal_fixed_price' => 100, + 'principal_amount' => 0, + 'minimal_services_price' => 100 + ), + 'managed_36' => array( + 'minimal_fixed_price' => 100, + 'principal_amount' => 100, + 'minimal_services_price' => 100 + ) + ); + $commision = 50; + $cost_margin = 0; + + Wiaas_Package_Pricing::set_package_prices($package, $pricing_rules, $commision, $cost_margin); + $this->assertEquals(Wiaas_Package_Status::get_package_status($package)->get_id(), Wiaas_Package_Status::AVAILABLE); + + $cost_margin = 1; + Wiaas_Package_Pricing::set_package_prices($package, $pricing_rules, $commision, $cost_margin); + $this->assertEquals(Wiaas_Package_Status::get_package_status($package)->get_id(), Wiaas_Package_Status::MARGIN_EXCEEDED); + + } +} \ No newline at end of file From 17acc9d96a9222764791d3b15500b2acdc370336 Mon Sep 17 00:00:00 2001 From: Almira Krdzic Date: Sat, 13 Oct 2018 14:28:45 +0200 Subject: [PATCH 16/23] Error proof creating suppliers link to organization --- .../product/class-wiaas-product-supplier.php | 12 ++++++++++-- .../app/plugins/wiaas/tests/wiaas-unit-test-case.php | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php index eeb71de..ecffddb 100644 --- a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php +++ b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php @@ -48,8 +48,16 @@ class Wiaas_Product_Supplier { */ public static function on_organization_added($organization_id) { $organization = get_term_by('id', $organization_id, 'wiaas-user-organization'); - $supplier = wp_insert_term($organization->name, 'supplier'); - add_term_meta($supplier['term_id'], 'organisation_id', $organization->term_id); + + $supplier = term_exists($organization->slug, 'supplier'); + + if (! $supplier) { + $supplier = wp_insert_term($organization->name, 'supplier', array( + 'slug' => $organization->slug + )); + } + + add_term_meta($supplier['term_id'], 'organisation_id', $organization->term_id); } } diff --git a/backend/app/plugins/wiaas/tests/wiaas-unit-test-case.php b/backend/app/plugins/wiaas/tests/wiaas-unit-test-case.php index d4c64b5..f83ff95 100644 --- a/backend/app/plugins/wiaas/tests/wiaas-unit-test-case.php +++ b/backend/app/plugins/wiaas/tests/wiaas-unit-test-case.php @@ -26,6 +26,8 @@ class Wiaas_Unit_Test_Case extends WP_UnitTestCase { Wiaas_Package_Type::register_package_type_taxonomy(); Wiaas_Order_Project::register_order_project_taxonomy(); + + Wiaas_Product_Supplier::register_supplier_taxonomy(); define('WP_TEST_IN_PROGRESS',true); } From 8df4ec3dc748be64526df8c3eb2fd519dfbae3f7 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 14 Oct 2018 14:19:22 +0200 Subject: [PATCH 17/23] move package validation to seperate function --- .../wiaas/includes/class-wiaas-checkout.php | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php index 0cd07f4..e202e1a 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php @@ -2,6 +2,22 @@ class Wiaas_Checkout { + public static function init(){ + add_action( 'woocommerce_before_checkout_process', array(__CLASS__, 'validate_wiaas_packages')); + } + + public static function validate_wiaas_packages(){ + //check if any package became invalid + $items = WC()->cart->get_cart(); + foreach($items as $item) { + $item_id = $item['data']->get_id(); + if (wc_pb_is_bundle_container_cart_item($item) && + (Wiaas_Package_Status::get_package_status($item_id) !== Wiaas_Package_Status::AVAILABLE)){ + throw new Exception('Package ' . $item['data']->get_title() . ' cannot be purchased at the moment'); + } + } + } + /** * Process the order checkout. * @@ -18,16 +34,6 @@ class Wiaas_Checkout { do_action( 'woocommerce_before_checkout_process' ); $customer = wp_get_current_user(); - //check if any package became invalid - $items = WC()->cart->get_cart(); - foreach($items as $item) { - $item_id = $item['data']->get_id(); - if (wc_pb_is_bundle_container_cart_item($item) && - (Wiaas_Package_Status::get_package_status($item_id) !== Wiaas_Package_Status::AVAILABLE)){ - throw new Exception('Package ' . $item['data']->get_title() . ' cannot be purchased at the moment'); - } - } - $order_id = WC()->checkout()->create_order(array()); $order = wc_get_order( $order_id ); @@ -101,3 +107,5 @@ class Wiaas_Checkout { } } } + +Wiaas_Checkout::init(); From 14eda981b79d0880adeaad96752aa8c1ce9df965 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 14 Oct 2018 14:24:06 +0200 Subject: [PATCH 18/23] add notice instead of throwing error --- backend/app/plugins/wiaas/includes/class-wiaas-checkout.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php index e202e1a..8976880 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php @@ -13,7 +13,8 @@ class Wiaas_Checkout { $item_id = $item['data']->get_id(); if (wc_pb_is_bundle_container_cart_item($item) && (Wiaas_Package_Status::get_package_status($item_id) !== Wiaas_Package_Status::AVAILABLE)){ - throw new Exception('Package ' . $item['data']->get_title() . ' cannot be purchased at the moment'); + wc_add_notice( 'Package ' . $item['data']->get_title() . ' cannot be purchased at the moment', 'error' ); + return false; } } } @@ -32,6 +33,9 @@ class Wiaas_Checkout { wc_set_time_limit( 0 ); do_action( 'woocommerce_before_checkout_process' ); + if(wc_notice_count( 'error' ) > 0) { + return false; + } $customer = wp_get_current_user(); $order_id = WC()->checkout()->create_order(array()); From ba2629ca2227a3c12a5c466aba1bd933ab13380b Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 14 Oct 2018 14:46:35 +0200 Subject: [PATCH 19/23] refactor --- .../wiaas/includes/class-wiaas-product.php | 3 +- .../pricing/class-wiaas-package-pricing.php | 32 ++++++++++++ .../product/class-wiaas-product-hooks.php | 51 ------------------- 3 files changed, 33 insertions(+), 53 deletions(-) delete mode 100644 backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-product.php b/backend/app/plugins/wiaas/includes/class-wiaas-product.php index 0a5fd4d..7197bee 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-product.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-product.php @@ -4,8 +4,7 @@ class Wiaas_Product { public static function init() { require_once dirname( __FILE__ ) . '/product/class-wiaas-product-category.php'; - require_once dirname( __FILE__ ) . '/product/class-wiaas-product-supplier.php'; - require_once dirname( __FILE__ ) . '/product/class-wiaas-product-hooks.php'; + require_once dirname( __FILE__ ) . '/product/class-wiaas-product-supplier.php'; } } diff --git a/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php b/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php index 9270147..802cee8 100644 --- a/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php +++ b/backend/app/plugins/wiaas/includes/pricing/class-wiaas-package-pricing.php @@ -51,6 +51,8 @@ class Wiaas_Package_Pricing { public static function init() { add_filter('woocommerce_bundle_price_html', array( __CLASS__, 'get_package_price_html' ), 10, 2); + + add_action('woocommerce_update_product', array(__CLASS__, 'on_product_update' ), 10, 1 ); } public static function get_package_price_html($price_html, $package) { @@ -121,6 +123,26 @@ class Wiaas_Package_Pricing { $package->save_meta_data(); } + /** + * Executes when woocommerce product is updated + */ + public static function on_product_update($product_id) { + $product = wc_get_product($product_id); + + if ($product->get_type() === WC_Product_Simple::get_type()){ + $product_price = Wiaas_Product_Pricing::get_product_price($product); + + $packages_containing_updated_product = wc_pb_get_bundled_product_map( $product ); + + foreach($packages_containing_updated_product as $index => $package_id){ + $package = new WC_Product_Bundle($package_id); + self::_validate_package($package); + } + }else if ($product->get_type() === WC_Product_Bundle::get_type()){ + self::_validate_package($product); + } + } + // PRIVATE private static function _get_package_prices($package) { @@ -169,6 +191,16 @@ class Wiaas_Package_Pricing { return (float) $max_cost_margin; } + + private static function _validate_package($package){ + $package_total_cost = Wiaas_Pricing::get_package_total_cost($package); + $package_max_cost_margin = Wiaas_Package_Pricing::get_package_max_cost_margin($package); + if (($package_max_cost_margin != 0) && ($package_total_cost > $package_max_cost_margin)){ + Wiaas_Package_Status::set_package_status($package->get_id(), Wiaas_Package_Status::INVALID_MARGIN); + }else{ + Wiaas_Package_Status::set_package_status($package->get_id(), Wiaas_Package_Status::AVAILABLE); + } + } } Wiaas_Package_Pricing::init(); \ No newline at end of file diff --git a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php deleted file mode 100644 index 1dd7771..0000000 --- a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-hooks.php +++ /dev/null @@ -1,51 +0,0 @@ -get_type() === WC_Product_Simple::get_type()){ - $product_price = Wiaas_Product_Pricing::get_product_price($product); - - $packages_containing_updated_product = wc_pb_get_bundled_product_map( $product ); - - foreach($packages_containing_updated_product as $index => $package_id){ - $package = new WC_Product_Bundle($package_id); - self::validate_package($package); - } - }else if ($product->get_type() === WC_Product_Bundle::get_type()){ - self::validate_package($product); - } - } - - private static function validate_package($package){ - $package_total_cost = Wiaas_Pricing::get_package_total_cost($package); - $package_max_cost_margin = Wiaas_Package_Pricing::get_package_max_cost_margin($package); - if (($package_max_cost_margin != 0) && ($package_total_cost > $package_max_cost_margin)){ - Wiaas_Package_Status::set_package_status($package->get_id(), Wiaas_Package_Status::INVALID_MARGIN); - }else{ - //TODO: Check if template is valid - Wiaas_Package_Status::set_package_status($package->get_id(), Wiaas_Package_Status::AVAILABLE); - } - } -} - -Wiaas_Product_Hooks::init(); \ No newline at end of file From 9f3fe44bb17f81d4926d51720ae36ac877fbdfea Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 14 Oct 2018 15:31:27 +0200 Subject: [PATCH 20/23] add proper message when adding invalid package to cart --- backend/app/plugins/wiaas/includes/class-wiaas-cart.php | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-cart.php b/backend/app/plugins/wiaas/includes/class-wiaas-cart.php index 87f770d..8968b62 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-cart.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-cart.php @@ -137,6 +137,7 @@ class Wiaas_Cart { //Check if package is available for adding to cart if (Wiaas_Package_Status::get_package_status($package_id) !== Wiaas_Package_Status::AVAILABLE){ + wc_add_notice('Package cannot be purchased at the moment', 'error'); return false; } From 55dc87e1744be59d701b5d78c76a04200c631215 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 14 Oct 2018 16:03:05 +0200 Subject: [PATCH 21/23] check if taxonomy query exists and append if exists --- .../app/plugins/wiaas/includes/class-wiaas-package.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-package.php b/backend/app/plugins/wiaas/includes/class-wiaas-package.php index 481455e..4f12ca4 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-package.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-package.php @@ -32,13 +32,16 @@ class Wiaas_Package { return; } - $query['tax_query'] = array( + if (!isset($query['tax_query'])){ + $query['tax_query'] = array(); + } + + $query['tax_query'][] = array( 'taxonomy' => 'package_status', 'field' => 'name', 'terms' => Wiaas_Package_Status::AVAILABLE - ) - ); + ); return $query; } From d7c34c3b0b90adbb1723bf58d442e54c0fc10f2b Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 14 Oct 2018 23:38:38 +0200 Subject: [PATCH 22/23] remove double code, change hook for validation --- .../app/plugins/wiaas/includes/class-wiaas-checkout.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php index 8976880..facf552 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php @@ -3,7 +3,7 @@ class Wiaas_Checkout { public static function init(){ - add_action( 'woocommerce_before_checkout_process', array(__CLASS__, 'validate_wiaas_packages')); + add_action( 'woocommerce_check_cart_items', array(__CLASS__, 'validate_wiaas_packages')); } public static function validate_wiaas_packages(){ @@ -33,13 +33,8 @@ class Wiaas_Checkout { wc_set_time_limit( 0 ); do_action( 'woocommerce_before_checkout_process' ); - if(wc_notice_count( 'error' ) > 0) { - return false; - } - $customer = wp_get_current_user(); - $order_id = WC()->checkout()->create_order(array()); - $order = wc_get_order( $order_id ); + $customer = wp_get_current_user(); // Check if cart empty before proceeding if (WC()->cart->is_empty()) { From a5168d34878af643598810c4f0a82d14d2282e51 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 14 Oct 2018 23:42:18 +0200 Subject: [PATCH 23/23] remove unnecessary code --- backend/app/plugins/wiaas/includes/class-wiaas-checkout.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php index facf552..47482a8 100644 --- a/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php +++ b/backend/app/plugins/wiaas/includes/class-wiaas-checkout.php @@ -34,8 +34,6 @@ class Wiaas_Checkout { do_action( 'woocommerce_before_checkout_process' ); - $customer = wp_get_current_user(); - // Check if cart empty before proceeding if (WC()->cart->is_empty()) { return false;