Fix order details display
This commit is contained in:
committed by
Bilal Catic
parent
397a0ed831
commit
a2c088ba52
@@ -21,11 +21,15 @@ class Wiaas_Admin_Supplier_Orders {
|
||||
|
||||
add_filter('woocommerce_admin_order_preview_actions', array(__CLASS__, 'remove_actions_from_order_preview'));
|
||||
|
||||
add_filter('woocommerce_admin_order_preview_line_items', array(__CLASS__, 'filter_order_items_for_order_preview'), 10, 2);
|
||||
add_filter('woocommerce_admin_order_preview_line_items', array(__CLASS__, 'filter_order_items_for_order_preview'), 999, 2);
|
||||
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_columns', array(__CLASS__, 'customize_order_preview_columns'), 999);
|
||||
|
||||
add_filter( 'woocommerce_admin_order_preview_line_item_column_wiaas_simple_product_bundle', array(__CLASS__, 'render_bundled_item_bundle'), 10, 4);
|
||||
|
||||
add_filter('manage_shop_order_posts_columns', array(__CLASS__, 'columns_for_list_table_orders'), 999);
|
||||
|
||||
add_filter('manage_edit-shop_order_sortable_columns', array(__CLASS__, 'define_sortable_columns_for_list_table_orders'));
|
||||
add_filter('manage_edit-shop_order_sortable_columns', array(__CLASS__, 'define_sortable_columns_for_list_table_orders'), 999);
|
||||
|
||||
add_action('manage_shop_order_posts_custom_column', array(__CLASS__, 'render_columns_for_list_table_orders'), 999, 2);
|
||||
}
|
||||
@@ -53,7 +57,7 @@ class Wiaas_Admin_Supplier_Orders {
|
||||
* Show only simple products from this supplier on order preview
|
||||
*
|
||||
* @param $order_items
|
||||
* @param $order
|
||||
* @param WC_Order $order
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
@@ -61,26 +65,51 @@ class Wiaas_Admin_Supplier_Orders {
|
||||
|
||||
$user_organisation_id = Wiaas_User_Organization::get_user_organization_id(wp_get_current_user()->ID);
|
||||
|
||||
$order_items = $order->get_items();
|
||||
$items = array();
|
||||
|
||||
foreach ($order_items as $key => $order_item) {
|
||||
|
||||
$product = wc_get_product($order_item->get_product_id());
|
||||
if (wc_pb_is_bundled_order_item($order_item)) {
|
||||
|
||||
if ($product->get_type() == 'simple') {
|
||||
$item_supplier_organization_id = absint($order_item['wiaas_supplier_organization_id']);
|
||||
|
||||
$supplier_organisation_id = Wiaas_Product_Supplier
|
||||
::get_supplier_organisation_id_from_product($order_item->get_product_id());
|
||||
if ($item_supplier_organization_id === $user_organisation_id) {
|
||||
|
||||
if ($supplier_organisation_id === $user_organisation_id) {
|
||||
$items[$key] = $order_item;
|
||||
}
|
||||
$items[] = $order_item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
public static function customize_order_preview_columns() {
|
||||
|
||||
return array(
|
||||
'product' => __('Product', 'wiaas'),
|
||||
'quantity' => __( 'Quantity', 'wiaas' ),
|
||||
'wiaas_simple_product_bundle' => __( '', 'wiaas' )
|
||||
);
|
||||
}
|
||||
|
||||
public static function render_bundled_item_bundle($empty, $item, $item_id, $order) {
|
||||
|
||||
$html = '';
|
||||
|
||||
if (wc_pb_is_bundled_order_item($item) ) {
|
||||
|
||||
$container_order_item = wc_pb_get_bundled_order_item_container($item, $order);
|
||||
|
||||
if ( ! empty($container_order_item) ) {
|
||||
|
||||
return $container_order_item->get_name();
|
||||
}
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Override default table columns so only supplier specific columns are visible
|
||||
*
|
||||
@@ -89,11 +118,14 @@ class Wiaas_Admin_Supplier_Orders {
|
||||
* @return array
|
||||
*/
|
||||
public static function columns_for_list_table_orders($columns) {
|
||||
$show_columns = array();
|
||||
$show_columns['cb'] = $columns['cb'];
|
||||
$show_columns['_wiaas_order_number'] = __( 'Order', 'woocommerce' );
|
||||
$show_columns['order_date'] = __( 'Date', 'woocommerce' );
|
||||
$show_columns['order_status'] = __( 'Status', 'woocommerce' );
|
||||
$show_columns = array();
|
||||
$show_columns['cb'] = $columns['cb'];
|
||||
$show_columns['_wiaas_order_number'] = __( 'Order', 'wiaas' );
|
||||
$show_columns['order_date'] = $columns['order_date'];
|
||||
$show_columns['wiaas_reference'] = __( 'Location', 'wiaas' );
|
||||
$show_columns['wiaas_customer'] = __( 'Customer', 'wiaas' );
|
||||
$show_columns['order_status'] = $columns['order_status'];
|
||||
$show_columns['shipping_address'] = $columns['shipping_address'];
|
||||
|
||||
return $show_columns;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user