add additional days prior installation field to bundle

This commit is contained in:
Bilal Catic
2018-10-30 16:21:24 +01:00
parent 1f03563d2e
commit f8dd5f1d9f
4 changed files with 78 additions and 0 deletions

View File

@@ -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-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( 'woocommerce_product_data_tabs', array( __CLASS__, 'package_data_tabs' ), 999);

View File

@@ -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();

View File

@@ -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>

View File

@@ -48,6 +48,23 @@ class Wiaas_Package {
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
* @param $data