From afe4ac1676d21a89d3cec1a74ebc780976db1a22 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Tue, 9 Oct 2018 14:34:10 +0200 Subject: [PATCH] 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