add additional days prior installation field to bundle
This commit is contained in:
@@ -10,6 +10,7 @@ class Wiaas_Admin_Package {
|
|||||||
|
|
||||||
require_once dirname( __FILE__ ) . '/package/class-wiaas-admin-linked-packages.php';
|
require_once dirname( __FILE__ ) . '/package/class-wiaas-admin-linked-packages.php';
|
||||||
require_once dirname( __FILE__ ) . '/package/class-wiaas-admin-package-types.php';
|
require_once dirname( __FILE__ ) . '/package/class-wiaas-admin-package-types.php';
|
||||||
|
require_once dirname( __FILE__ ) . '/package/class-wiaas-admin-package-delivery-options.php';
|
||||||
|
|
||||||
add_action( 'manage_product_posts_columns', array( __CLASS__, 'manage_list_table_products_columns' ), 999, 2 );
|
add_action( 'manage_product_posts_columns', array( __CLASS__, 'manage_list_table_products_columns' ), 999, 2 );
|
||||||
add_action( 'woocommerce_product_data_tabs', array( __CLASS__, 'package_data_tabs' ), 999);
|
add_action( 'woocommerce_product_data_tabs', array( __CLASS__, 'package_data_tabs' ), 999);
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if ( ! defined( 'ABSPATH' ) ) {
|
||||||
|
exit; // Exit if accessed directly
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Wiaas_Admin_Package_Delivery_Options
|
||||||
|
*/
|
||||||
|
class Wiaas_Admin_Package_Delivery_Options {
|
||||||
|
|
||||||
|
public static function init() {
|
||||||
|
|
||||||
|
add_action( 'woocommerce_product_options_general_product_data', array( __CLASS__, 'package_delivery_data' ) );
|
||||||
|
|
||||||
|
add_action( 'woocommerce_process_product_meta', array( __CLASS__, 'process_meta_box' ));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renders wiaas package delivery options
|
||||||
|
*/
|
||||||
|
public static function package_delivery_data() {
|
||||||
|
|
||||||
|
global $post;
|
||||||
|
|
||||||
|
$additional_days = Wiaas_Package::get_earliest_installation_additional_days( $post->ID );
|
||||||
|
|
||||||
|
include 'views/html-package-delivery-options.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Saves posted wiaas package type data
|
||||||
|
* @param $package_id
|
||||||
|
*/
|
||||||
|
public static function process_meta_box($package_id) {
|
||||||
|
|
||||||
|
file_put_contents('/home/bilal/wiaas.log', print_r($_POST['wiaas_additional_days'], true));
|
||||||
|
if (isset($_POST['wiaas_additional_days'])){
|
||||||
|
Wiaas_Package::save_earliest_installation_additional_days($package_id, $_POST['wiaas_additional_days']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Wiaas_Admin_Package_Delivery_Options::init();
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Wiaas Package options related to delivery
|
||||||
|
*/
|
||||||
|
|
||||||
|
if ( ! defined( 'ABSPATH' ) ) {
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div id="wiaas_package_type_editor" class="options_group show_if_bundle hidden">
|
||||||
|
<p class="form-field">
|
||||||
|
<label for="wiaas_additional_days"><?php esc_html_e( 'Number of additional days for the earliest installation date:', 'wiaas' ); ?></label>
|
||||||
|
<input type="number" id="wiaas_additional_days" name="wiaas_additional_days" min="0" value=<?php echo $additional_days ?> />
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
@@ -48,6 +48,23 @@ class Wiaas_Package {
|
|||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function get_earliest_installation_additional_days($package_id){
|
||||||
|
$additional_days = get_post_meta($package_id, '_wiaas_additional_days_prior_installation', true);
|
||||||
|
if ($additional_days === ''){
|
||||||
|
//Value was not set before, default to 5
|
||||||
|
add_post_meta($package_id, '_wiaas_additional_days_prior_installation', 5, true);
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
return $additional_days;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function save_earliest_installation_additional_days($package_id, $additional_days){
|
||||||
|
if (intval($additional_days) < 0){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return update_post_meta($package_id, '_wiaas_additional_days_prior_installation', intval($additional_days));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Append package documents
|
* Append package documents
|
||||||
* @param $data
|
* @param $data
|
||||||
|
|||||||
Reference in New Issue
Block a user