From b7ab761a25a8c0879d0d466a508ee15e79d21695 Mon Sep 17 00:00:00 2001 From: Almira Krdzic Date: Wed, 17 Oct 2018 19:38:41 +0200 Subject: [PATCH] Handle bundle pricing on separate page --- .../class-wiaas-admin-package-pricing.php | 18 +- .../pricing/views/html-package-pricing.php | 167 +++++++++++------- 2 files changed, 116 insertions(+), 69 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 f09555b..b1cee72 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 @@ -11,6 +11,8 @@ class Wiaas_Admin_Package_Pricing { public static function init() { + add_action( 'admin_menu', array(__CLASS__, 'add_package_pricing_editor_page') ); + add_action( 'woocommerce_product_data_tabs', array( __CLASS__, 'package_data_tabs' ) ); add_action( 'woocommerce_product_data_panels', array( __CLASS__, 'package_data_panel' ) ); @@ -19,6 +21,18 @@ class Wiaas_Admin_Package_Pricing { add_action( 'woocommerce_process_product_meta', array( __CLASS__, 'process_meta_box' ), 1, 2 ); } + public static function add_package_pricing_editor_page() { + + add_submenu_page( + 'edit.php?post_type=product', + __( 'Products', 'wiaas' ), + null, + 'create_products', + 'wiaas-package_price_editor', + array(__CLASS__, 'package_data_panel') + ); + } + /** * Creates and renders new empty package pricing rule */ @@ -54,8 +68,8 @@ class Wiaas_Admin_Package_Pricing { */ public static function package_data_panel() { - global $post; - $package = wc_get_product( $post->ID ); + $package_id = absint($_GET['id']); + $package = wc_get_product( $package_id ); $pricing_rules = Wiaas_Package_Pricing::get_package_prices($package); $commission = Wiaas_Package_Pricing::get_package_pricing_commission($package); $max_cost_margin = Wiaas_Package_Pricing::get_package_max_cost_margin($package); 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 ac092ff..e70628c 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 @@ -143,81 +143,114 @@ if ( ! defined( 'ABSPATH' ) ) { } }); + -
- '_wiaas_max_cost_margin', - 'name' => 'wiaas_max_cost_margin', - 'value' => $max_cost_margin, - 'label' => __( 'Max cost margin:', 'wiaas' ), - 'type' => 'number', - ) - ); - ?> -
+
+
+
-
- '_wiaas_price_commision', - 'name' => 'wiaas_pricing_rules_commision', - 'value' => $commission, - 'label' => __( 'Commision (Percent):', 'wiaas' ), - 'type' => 'number', - ) - ); - ?> -
+
-
-
- $pay_type) { - if (!isset($pricing_rule_sets[$name])) { - $has_available_pay_types = true; - break; - } - } +
+
+
- $class = $has_available_pay_types ? '' : 'wiaas_hidden'; +
+

Test

+
- ?> -
- - +
+
+
-
- -
+
+
+
+
+
+
+ '_wiaas_max_cost_margin', + 'name' => 'wiaas_max_cost_margin', + 'value' => $max_cost_margin, + 'label' => __( 'Max cost margin:', 'wiaas' ), + 'type' => 'number', + ) + ); + ?> +
+ +
+ '_wiaas_price_commision', + 'name' => 'wiaas_pricing_rules_commision', + 'value' => $commission, + 'label' => __( 'Commision (Percent):', 'wiaas' ), + 'type' => 'number', + ) + ); + ?> +
+ +
+
+ $pay_type) { + if (!isset($pricing_rule_sets[$name])) { + $has_available_pay_types = true; + break; + } + } + + $class = $has_available_pay_types ? '' : 'wiaas_hidden'; + + ?> +
+ + +
+ +
+ +
+ +
+
+
+
+
+
+