|
|
@@ -25,14 +25,7 @@ class Import_Manager {
|
|
|
<div class="wrap">
|
|
|
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
|
|
|
|
|
|
- <h2><?php _e('Import InPrint Protocol', 'studiou-wc-ord-print-statuses'); ?></h2>
|
|
|
- <form method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" enctype="multipart/form-data">
|
|
|
- <input type="hidden" name="action" value="import_inprint_protocol">
|
|
|
- <?php wp_nonce_field('import_inprint_protocol', 'import_inprint_protocol_nonce'); ?>
|
|
|
- <input type="file" name="inprint_csv" accept=".csv" required>
|
|
|
- <?php submit_button(__('Import InPrint Protocol', 'studiou-wc-ord-print-statuses')); ?>
|
|
|
- </form>
|
|
|
-
|
|
|
+
|
|
|
<h2><?php _e('Import Delivered Protocol', 'studiou-wc-ord-print-statuses'); ?></h2>
|
|
|
<form method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" enctype="multipart/form-data">
|
|
|
<input type="hidden" name="action" value="import_delivered_protocol">
|
|
|
@@ -44,58 +37,6 @@ class Import_Manager {
|
|
|
<?php
|
|
|
}
|
|
|
|
|
|
- public function handle_import_inprint_protocol() {
|
|
|
- if (!current_user_can('manage_woocommerce')) {
|
|
|
- wp_die(__('You do not have sufficient permissions to access this page.', 'studiou-wc-ord-print-statuses'));
|
|
|
- }
|
|
|
-
|
|
|
- check_admin_referer('import_inprint_protocol', 'import_inprint_protocol_nonce');
|
|
|
-
|
|
|
- if (!isset($_FILES['inprint_csv'])) {
|
|
|
- wp_die(__('No file uploaded.', 'studiou-wc-ord-print-statuses'));
|
|
|
- }
|
|
|
-
|
|
|
- $file = $_FILES['inprint_csv'];
|
|
|
- $csv_data = $this->parse_csv($file['tmp_name']);
|
|
|
-
|
|
|
- if (!$csv_data) {
|
|
|
- wp_die(__('Error parsing CSV file.', 'studiou-wc-ord-print-statuses'));
|
|
|
- }
|
|
|
-
|
|
|
- $updated_count = 0;
|
|
|
- $errors = array();
|
|
|
-
|
|
|
- foreach ($csv_data as $row) {
|
|
|
- if (!isset($row['order_no']) || !isset($row['ExternalOrder']) || !isset($row['ExternalOrderDate'])) {
|
|
|
- $errors[] = __('Invalid row format in CSV.', 'studiou-wc-ord-print-statuses');
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- $order_id = wc_get_order_id_by_order_number($row['order_no']);
|
|
|
- if (!$order_id) {
|
|
|
- $errors[] = sprintf(__('Order %s not found.', 'studiou-wc-ord-print-statuses'), $row['order_no']);
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- $order = wc_get_order($order_id);
|
|
|
- $order->update_status('wc-in-print');
|
|
|
- $order->update_meta_data('in_print_date', current_time('mysql'));
|
|
|
- $order->update_meta_data('external_ref_ord_no', $row['ExternalOrder']);
|
|
|
- $order->update_meta_data('external_ref_ord_date', $row['ExternalOrderDate']);
|
|
|
- $order->save();
|
|
|
-
|
|
|
- $updated_count++;
|
|
|
- }
|
|
|
-
|
|
|
- $message = sprintf(__('%d orders updated successfully.', 'studiou-wc-ord-print-statuses'), $updated_count);
|
|
|
- if (!empty($errors)) {
|
|
|
- $message .= ' ' . sprintf(__('%d errors occurred: %s', 'studiou-wc-ord-print-statuses'), count($errors), implode(', ', $errors));
|
|
|
- }
|
|
|
-
|
|
|
- wp_redirect(add_query_arg('message', urlencode($message), admin_url('admin.php?page=studiou-import-protocols')));
|
|
|
- exit;
|
|
|
- }
|
|
|
-
|
|
|
public function handle_import_delivered_protocol() {
|
|
|
if (!current_user_can('manage_woocommerce')) {
|
|
|
wp_die(__('You do not have sufficient permissions to access this page.', 'studiou-wc-ord-print-statuses'));
|