Files
old-new-wiaas/backend/app/plugins/wiaas/includes/admin/class-wiaas-admin-orders.php

144 lines
5.3 KiB
PHP
Raw Normal View History

2018-11-22 13:56:24 +01:00
<?php
class Wiaas_Admin_Orders {
public static function init() {
add_filter( 'manage_edit-shop_order_columns', array(__CLASS__, 'add_additional_columns_to_orders_screen') );
add_action( 'manage_shop_order_posts_custom_column', array(__CLASS__, 'add_custom_columns_content') );
add_filter( 'woocommerce_admin_order_preview_get_order_details', array(__CLASS__, 'add_custom_data_to_order_preview') );
add_filter( 'woocommerce_admin_order_preview_line_items', array(__CLASS__, 'remove_simple_items_from_preview'));
add_action('init', array(__CLASS__, 'init_admin'));
}
public static function init_admin(){
$current_user = wp_get_current_user();
$role = $current_user->roles[0];
$is_admin = $role === 'administrator';
if ($is_admin){
add_filter( 'woocommerce_admin_order_preview_line_item_columns', array(__CLASS__, 'customize_order_preview_columns'));
add_filter( 'woocommerce_admin_order_preview_line_item_column_payment_type', array(__CLASS__, 'fill_in_payment_type'), 10, 2);
add_filter( 'woocommerce_admin_order_preview_line_item_column_services_extra', array(__CLASS__, 'fill_in_services_extra'), 10, 4);
add_filter( 'woocommerce_admin_order_preview_line_item_column_services_contract_period', array(__CLASS__, 'fill_in_services_contract_period'), 10, 2);
add_filter( 'woocommerce_admin_order_preview_line_item_column_max_contract_period', array(__CLASS__, 'fill_in_max_contract_period'), 10, 2);
add_filter( 'woocommerce_admin_order_preview_line_item_column_period_unit', array(__CLASS__, 'fill_in_period_unit'), 10, 2);
add_filter( 'woocommerce_admin_order_preview_line_item_column_recurrent_extra', array(__CLASS__, 'fill_in_recurrent_extra'), 10, 4);
add_filter( 'woocommerce_admin_order_preview_line_item_column_pay_period', array(__CLASS__, 'fill_in_pay_period'), 10, 2);
}
2018-11-22 13:56:24 +01:00
}
public static function add_additional_columns_to_orders_screen( $columns ){
$new_columns = array();
$new_columns['reference'] = 'Location';
$new_columns['commercial_lead'] = 'Commercial lead';
$new_columns['customer'] = 'Customer';
$insertAfterColumn = 1;
return array_merge(array_slice($columns,0,$insertAfterColumn+1), $new_columns, array_slice($columns,$insertAfterColumn+1));
}
public static function add_custom_columns_content( $column ){
global $post;
$column_content = '';
switch ($column){
case 'reference':
$column_content = Wiaas_Order::get_order_reference($post->ID);
break;
case 'commercial_lead':
$column_content = Wiaas_Order::get_order_commercial_lead_name($post->ID);
break;
case 'customer':
$column_content = Wiaas_Order::get_order_customer_full_name($post->ID);
break;
}
echo $column_content;
}
public static function add_custom_data_to_order_preview ($order){
$order['commercial_lead_name'] = Wiaas_Order::get_order_commercial_lead_name( $order['data']['id'] );;
return $order;
}
public static function remove_simple_items_from_preview( $order_items){
$items = array();
foreach ($order_items as $order_item) {
if (isset($order_item['wiaas_standard_package'])) {
$items[] = $order_item;
}
}
return $items;
}
public static function customize_order_preview_columns( $columns ){
unset($columns['total']);
$columns['payment_type'] = __( 'Payment type', 'wiaas' );
$columns['services_extra'] = __( 'Services extra', 'wiaas');
$columns['recurrent_extra'] = __( 'Recurrent extra', 'wiaas');
$columns['services_contract_period'] = __( 'Contract period', 'wiaas');
$columns['max_contract_period'] = __( 'Maximum contract period', 'wiaas');
$columns['pay_period'] = __( 'Pay period', 'wiaas');
$columns['period_unit'] = __( 'Period unit', 'wiaas');
$columns['total'] = __( 'Total', 'woocommerce');
return $columns;
}
public static function fill_in_payment_type ( $empty , $item){
return $item->get_meta('_wiaas_payment_type');
}
public static function fill_in_services_extra ($empty, $item, $item_id, $order){
return wc_price( $item->get_meta('_wiaas_services_extra'), array( 'currency' => $order->get_currency() ) );
}
public static function fill_in_services_contract_period($empty, $item){
return $item->get_meta('_wiaas_service_contract_period');
}
public static function fill_in_max_contract_period($empty, $item){
return $item->get_meta('_wiaas_max_contract_period');
}
public static function fill_in_period_unit ($empty, $item){
return $item->get_meta('_wiaas_period_unit');
}
public static function fill_in_recurrent_extra($empty, $item, $item_id, $order){
return wc_price( $item->get_meta('_wiaas_recurrent_extra'), array( 'currency' => $order->get_currency() ) );
}
public static function fill_in_pay_period($empty, $item){
return $item->get_meta('_wiaas_pay_period');
}
2018-11-22 13:56:24 +01:00
}
Wiaas_Admin_Orders::init();