90 lines
2.6 KiB
PHP
90 lines
2.6 KiB
PHP
<?php
|
|
|
|
class Wiaas_Admin_Order_Process_Flow {
|
|
|
|
public static function init() {
|
|
add_action('add_meta_boxes', array(__CLASS__, 'create_custom_meta_box'), 100);
|
|
add_action('woocommerce_admin_order_data_after_order_details', array(__CLASS__, 'add_custom_fields_after_order_details'), 10, 1 );
|
|
}
|
|
|
|
public static function create_custom_meta_box() {
|
|
add_meta_box(
|
|
'order_process_flow_meta_box',
|
|
__('Order Process Flow', 'cmb'),
|
|
'Wiaas_Admin_Order_Process_Flow::add_process_flow_meta_box',
|
|
'shop_order',
|
|
'normal',
|
|
'default'
|
|
);
|
|
|
|
add_meta_box(
|
|
'order_delivery_dates_meta_box',
|
|
__('Delivery dates', 'cmb'),
|
|
'Wiaas_Admin_Order_Process_Flow::add_delivery_dates_meta_box',
|
|
'shop_order',
|
|
'normal',
|
|
'default'
|
|
);
|
|
}
|
|
|
|
public static function add_custom_fields_after_order_details($order){
|
|
$global_estimated_delivery_date = Wiaas_Order::get_global_estimated_date($order->id);
|
|
$formated_global_estimated_delivery_date = $global_estimated_delivery_date ? date("Y-m-d", $global_estimated_delivery_date) : "";
|
|
|
|
$order_id = $order->id;
|
|
require 'views/html-order-global-delivery-date.php';
|
|
}
|
|
|
|
public static function add_process_flow_meta_box(){
|
|
global $post;
|
|
|
|
$order_id = $post->ID;
|
|
|
|
$process = Wiaas_Delivery_Process::get_order_delivery_process($order_id);
|
|
|
|
if ($process === NULL){
|
|
$list_of_delivery_processes = Wiaas_Delivery_Process::get_available_delivery_processes();
|
|
require 'views/html-order-select-delivery-process.php';
|
|
}else{
|
|
$title = $process['name'];
|
|
$steps = $process['steps'];
|
|
|
|
require 'views/html-order-process-flow.php';
|
|
}
|
|
}
|
|
|
|
public static function add_delivery_dates_meta_box(){
|
|
global $post;
|
|
|
|
$order_id = $post->ID;
|
|
|
|
$suppliers = Wiaas_Order::get_suppliers($order_id);
|
|
$final_estimated_date = Wiaas_Order::get_final_estimated_date($order_id);
|
|
$final_confirmed_date = Wiaas_Order::get_final_confirmed_date($order_id);
|
|
$earliest_installation_date = Wiaas_Order::get_earliest_installation_date($order_id);
|
|
|
|
|
|
if ($final_estimated_date === 0){
|
|
$final_estimated_date = '-';
|
|
}else{
|
|
$final_estimated_date = date('Y-m-d', $final_estimated_date);
|
|
}
|
|
|
|
if ($final_confirmed_date === 0){
|
|
$final_confirmed_date = '-';
|
|
}else{
|
|
$final_confirmed_date = date('Y-m-d', $final_confirmed_date);
|
|
}
|
|
|
|
if ($earliest_installation_date === 0){
|
|
$earliest_installation_date = '-';
|
|
}else{
|
|
$earliest_installation_date = date('Y-m-d', $earliest_installation_date);
|
|
}
|
|
|
|
require 'views/html-order-delivery-dates.php';
|
|
|
|
}
|
|
}
|
|
|
|
Wiaas_Admin_Order_Process_Flow::init(); |