Changeset 2317521
- Timestamp:
- 06/03/2020 04:45:52 PM (6 years ago)
- Location:
- apollo/trunk
- Files:
-
- 3 edited
-
apollo.php (modified) (10 diffs)
-
includes/admin/settings/general.php (modified) (2 diffs)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
apollo/trunk/apollo.php
r2313911 r2317521 4 4 * Plugin URI: https://wordpress.org/plugins/apollo 5 5 * Description: Manually or automatically generate invoices and send PDFs as attachments for WooCommerce orders. 6 * Version: 1.1. 66 * Version: 1.1.7 7 7 * Author: Studio404 8 8 * Text Domain: apollo … … 14 14 defined( 'ABSPATH' ) or exit; 15 15 16 define( 'APOLLO_VERSION', '1.1. 6' );16 define( 'APOLLO_VERSION', '1.1.7' ); 17 17 18 18 function apollo_load_plugin() { … … 70 70 71 71 // Only add attachment if new order, completed order or invoice mail 72 if($status != 'customer_invoice' && $status != 'new_order' && $status != 'customer_completed_order' && $status != 'customer_on_hold_order' ) {72 if($status != 'customer_invoice' && $status != 'new_order' && $status != 'customer_completed_order' && $status != 'customer_on_hold_order' && $status != 'customer_processing_order') { 73 73 return; 74 74 } … … 77 77 if($status == 'new_order' && !($order->get_payment_method() == 'bacs' || $order->get_payment_method() == 'cod')) { 78 78 return; 79 } 79 }; 80 80 81 81 $lang = explode('_', get_locale())[0]; … … 94 94 $payment_type = 'apollo_payment-'.$order->get_payment_method(); 95 95 $order_paid = get_post_meta( $order->get_id(), '_date_paid', true); 96 97 $auto_create_cod = (bool) get_option('apollo_general_settings')['apollo_cod-invoice']; 96 98 97 99 //chechk if order payment matches any of the payments set in apollo settings … … 134 136 update_post_meta( $order->get_id(), 'apollo_invoice_sent', true ); 135 137 136 } else if ($auto_invoice && $payment_enabled && $order->get_payment_method() == 'cod') { // new order; status matches invoice settings and payment is cash on delivery 138 } else if ($auto_invoice && $order->get_payment_method() == 'cod' && !$auto_create_cod && ($status == 'new_order' || $status != 'customer_on_hold_order' || $status != 'customer_processing_order' ) ) { // new order; status matches invoice settings and payment is cash on delivery 139 $invoice = Apollo_invoice::create($order->get_id(), 'invoice'); 140 $attachments[] = Apollo_invoice::getPdf($invoice['id'], $invoice['number'], 'invoice'); 141 update_post_meta( $order->get_id(), 'apollo_invoice_sent', true ); 142 143 } else if ($auto_invoice && $order->get_payment_method() == 'cod' && $auto_create_cod && $status == 'customer_completed_order' ) { // order completed; status matches invoice settings and payment is cash on delivery 137 144 $invoice = Apollo_invoice::create($order->get_id(), 'invoice'); 138 145 $attachments[] = Apollo_invoice::getPdf($invoice['id'], $invoice['number'], 'invoice'); … … 150 157 151 158 $payment_type = 'apollo_payment-'.$order->get_payment_method(); 159 $auto_create_cod = (bool) get_option('apollo_general_settings')['apollo_cod-invoice']; 152 160 153 161 //chechk if order payment matches any of the payments set in apollo settings … … 156 164 if ( $order->get_payment_method() === 'bacs') { // new order; bank transfer 157 165 Apollo_invoice::create($order_id, 'estimate'); 158 } else if ($order->get_payment_method() === 'cod' ) {166 } else if ($order->get_payment_method() === 'cod' && !$auto_create_cod) { 159 167 Apollo_invoice::create($order_id, 'invoice'); 160 168 } … … 166 174 167 175 $order = wc_get_order($order_id); 176 $auto_create_cod = (bool) get_option('apollo_general_settings')['apollo_cod-invoice']; 168 177 169 178 $payment_type = 'apollo_payment-'.$order->get_payment_method(); … … 175 184 if(($order->get_payment_method() === 'bacs') || ($payment_enabled && $order_paid !== '')) { 176 185 Apollo_invoice::create($order_id, 'invoice'); 186 } else if ($order->get_payment_method() === 'cod' && $auto_create_cod) { 187 Apollo_invoice::create($order_id, 'invoice'); 177 188 } 178 189 } -
apollo/trunk/includes/admin/settings/general.php
r2248680 r2317521 227 227 ), 228 228 array( 229 'id' => 'apollo-cod-invoice', 230 'name' => $this->prefix . 'cod-invoice', 231 'title' => __( 'Cash on delivery', 'apollo-invoices' ), 232 'callback' => array( $this, 'input_callback' ), 233 'page' => $this->settings_key, 234 'section' => 'document', 235 'type' => 'checkbox', 236 'desc' => __( 'Create invoice when order is "Completed"', 'apollo-invoices' ) 237 . '<br/><div class="apollo-notes">' . __( 'By default invoice is created for NEW orders with payment method "Cash on delivery".<br/> By checking this option, invoice will be created when order is "Completed" insetad.', 'apollo-invoices' ) . '</div>', 238 'default' => 0, 239 'class' => !$valid_org ? 'hidden' : '', 240 ), 241 array( 229 242 'id' => 'apollo-send-invoice', 230 243 'name' => $this->prefix . 'send-invoice', … … 245 258 // build list of possible payment methods from Woocommerce 246 259 foreach ($payments as $key => $payment) { 247 if ($payment->id !== 'bacs' ) {260 if ($payment->id !== 'bacs' && $payment->id !== 'cod') { 248 261 249 262 $settings[] = array( -
apollo/trunk/readme.txt
r2313911 r2317521 85 85 86 86 == Changelog == 87 = 1.1.6 - June 03, 2020 = 88 89 - Updated: Added option for COD payments, invoice can now be created when order is completed (previously it was created with new order) 90 87 91 = 1.1.6 - May 28, 2020 = 88 92
Note: See TracChangeset
for help on using the changeset viewer.