reseller to customer
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
class Wiaas_Admin_CL_Shop {
|
||||
|
||||
public static function init() {
|
||||
|
||||
add_action( 'admin_menu', array( __CLASS__, 'add_customers_page' ), 9 );
|
||||
}
|
||||
|
||||
public static function add_customers_page() {
|
||||
add_menu_page(
|
||||
__( 'Customers', 'wiaas' ),
|
||||
__( 'Customers', 'wiaas' ),
|
||||
'manage_wiaas_cl_customers',
|
||||
'wiaas-cl-customers',
|
||||
array(__CLASS__, 'output_customers'),
|
||||
'dashicons-groups',
|
||||
'66.0' );
|
||||
}
|
||||
|
||||
public static function output_orders() {
|
||||
|
||||
}
|
||||
|
||||
public static function output_customers() {
|
||||
$organization_id = wiaas_get_current_user_organization_id();
|
||||
|
||||
// handle default order type update if needed
|
||||
if (! empty($_POST['wiaas_update_cl_default_order_type_nonce']) &&
|
||||
! empty($_POST['default_order_type']) &&
|
||||
wp_verify_nonce(
|
||||
$_POST['wiaas_update_cl_default_order_type_nonce'],
|
||||
'wiaas_update_cl_default_order_type')
|
||||
) {
|
||||
|
||||
$default_order_type = sanitize_key($_POST['default_order_type']);
|
||||
|
||||
error_log($default_order_type);
|
||||
|
||||
Wiaas_Shop::update_default_order_type($organization_id, $default_order_type);
|
||||
|
||||
}
|
||||
|
||||
// handle customer order type update if needed
|
||||
if (! empty($_POST['wiaas_update_cl_customer_order_type_nonce']) &&
|
||||
! empty($_POST['customer_order_type']) &&
|
||||
wp_verify_nonce(
|
||||
$_POST['wiaas_update_cl_customer_order_type_nonce'],
|
||||
'wiaas_update_cl_customer_order_type')
|
||||
) {
|
||||
|
||||
$customer_id = absint($_POST['customer_order_type']['customer_id']);
|
||||
$order_type = sanitize_key($_POST['customer_order_type']['order_type']);
|
||||
|
||||
Wiaas_Shop_Data_Store::update_shop_customer_order_type(
|
||||
$organization_id,
|
||||
$customer_id,
|
||||
$order_type);
|
||||
}
|
||||
|
||||
$customers = Wiaas_Shop_Data_Store::get_shop_customers($organization_id);
|
||||
|
||||
require 'views/html-admin-cl-customers-page.php';
|
||||
}
|
||||
}
|
||||
|
||||
Wiaas_Admin_CL_Shop::init();
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
class Wiaas_Admin_CL_Orders {
|
||||
|
||||
public static function init() {
|
||||
|
||||
add_filter( 'bulk_actions-edit-shop_order', array( __CLASS__, 'remove_bulk_actions_for_list_table_orders' ), 999 );
|
||||
|
||||
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('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_action('manage_shop_order_posts_custom_column', array(__CLASS__, 'render_columns_for_list_table_orders'), 999, 2);
|
||||
}
|
||||
|
||||
public static function remove_bulk_actions_for_list_table_orders() {
|
||||
return array();
|
||||
}
|
||||
|
||||
public static function remove_actions_from_order_preview() {
|
||||
return array();
|
||||
}
|
||||
|
||||
public static function filter_order_items_for_order_preview($order_items, $order) {
|
||||
|
||||
$items = array();
|
||||
|
||||
foreach ($order_items as $order_item) {
|
||||
if (isset($order_item['wiaas_standard_package'])) {
|
||||
$items[] = $order_item;
|
||||
}
|
||||
}
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
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['order_total'] = __( 'Total', 'woocommerce' );
|
||||
|
||||
return $show_columns;
|
||||
}
|
||||
|
||||
|
||||
public static function define_sortable_columns_for_list_table_orders($sortable_columns) {
|
||||
|
||||
$sortable_columns['_wiaas_order_number'] = 'ID';
|
||||
|
||||
return $sortable_columns;
|
||||
}
|
||||
|
||||
public static function render_columns_for_list_table_orders($column, $order_id) {
|
||||
|
||||
if ($column === '_wiaas_order_number') {
|
||||
|
||||
$order = wc_get_order($order_id);
|
||||
|
||||
echo '<strong>#' . esc_attr( $order->get_order_number() ) . '</strong>';
|
||||
|
||||
if ( $order->get_status() !== 'trash' ) {
|
||||
echo '<a href="#" class="order-preview" data-order-id="' . absint( $order->get_id() ) . '" title="' . esc_attr( __( 'Preview', 'wiaas' ) ) . '">' . esc_html( __( 'Preview', 'wiaas' ) ) . '</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Wiaas_Admin_CL_Orders::init();
|
||||
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<style>
|
||||
select {
|
||||
width: 300px;
|
||||
max-width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="wrap">
|
||||
<h1><?php esc_html_e( 'Customers', 'wiaas' ); ?> </h1>
|
||||
|
||||
<br class="clear" />
|
||||
<div id="col-container">
|
||||
|
||||
<div id="col-right">
|
||||
<div class="col-wrap">
|
||||
<table class="widefat wp-list-table striped" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><?php esc_html_e( 'Name', 'wiaas' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Order type', 'wiaas' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach ($customers as $customer) {
|
||||
$name = wiaas_get_organization_name($customer['customer_id']);
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<h2><?php esc_html_e($name, 'wiaas') ?></h2>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
esc_html_e(
|
||||
$customer['order_type']=== 'commercial_lead' ? 'Commercial Lead' : 'Reseller',
|
||||
'wiaas'
|
||||
)
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="col-left">
|
||||
<div class="col-wrap">
|
||||
<div class="inside">
|
||||
<div class="form-wrap">
|
||||
<h2><?php esc_html_e('Default order type:', 'wiaas') ?></h2>
|
||||
<form class="form" action="" method="post">
|
||||
<input type="hidden" name="page" value="wiaas-cl-customers"/>
|
||||
<div class="form-field">
|
||||
<select class="form-control" name="default_order_type">
|
||||
<option
|
||||
value="commercial_lead"
|
||||
<?php selected('commercial_lead', Wiaas_Shop::get_default_order_type($organization_id), true) ?>
|
||||
>
|
||||
<?php esc_html_e('Commercial Lead', 'wiaas') ?>
|
||||
</option>
|
||||
<option
|
||||
value="reseller"
|
||||
<?php selected('reseller', Wiaas_Shop::get_default_order_type($organization_id), true) ?>
|
||||
>
|
||||
<?php esc_html_e('Reseller', 'wiaas') ?>
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="button button-primary button-large" type="submit" value="Change"/>
|
||||
<?php wp_nonce_field( 'wiaas_update_cl_default_order_type', 'wiaas_update_cl_default_order_type_nonce' ); ?>
|
||||
</form>
|
||||
</div>
|
||||
<hr style="margin: 30px 0;" />
|
||||
|
||||
<div class="form-wrap">
|
||||
<h2><?php esc_html_e('Update order type for customer', 'wiaas') ?></h2>
|
||||
<form class="form" action="" method="post">
|
||||
<div class="form-field">
|
||||
<label><?php esc_html_e('Customer:', 'wiaas') ?> </label>
|
||||
<select class="form-control" name="customer_order_type[customer_id]">
|
||||
<?php
|
||||
foreach ($customers as $customer) {
|
||||
$name = wiaas_get_organization_name($customer['customer_id']);
|
||||
?>
|
||||
<option
|
||||
value="<?php esc_html_e($customer['customer_id'], 'wiaas') ?>"
|
||||
>
|
||||
<?php esc_html_e($name, 'wiaas') ?>
|
||||
</option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label><?php esc_html_e('Order type:', 'wiaas') ?> </label>
|
||||
<select class="form-control" name="customer_order_type[order_type]">
|
||||
<option value="commercial_lead">
|
||||
<?php esc_html_e('Commercial Lead', 'wiaas') ?>
|
||||
</option>
|
||||
<option value="reseller">
|
||||
<?php esc_html_e('Reseller', 'wiaas') ?>
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="button button-large" type="submit" value="Update"/>
|
||||
<?php wp_nonce_field( 'wiaas_update_cl_customer_order_type', 'wiaas_update_cl_customer_order_type_nonce' ); ?>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user