Plugin Directory

Changeset 2691138


Ignore:
Timestamp:
03/09/2022 01:33:08 AM (4 years ago)
Author:
delyva
Message:

v1.1.27

Location:
delyvax/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • delyvax/trunk/delyvax.php

    r2672618 r2691138  
    44    Plugin URI: https://delyva.com
    55    description: The official Delyva plugin helps store owners to integrate WooCommerce with [Delyva](https://delyva.com) for seamless service comparison and order processing.
    6     Version: 1.1.26
     6    Version: 1.1.27
    77    Author: Delyva
    88    Author URI: https://delyva.com
     
    1313    defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
    1414    define('DELYVAX_API_ENDPOINT', 'https://api.delyva.app/');
    15     define('DELYVAX_PLUGIN_VERSION', '1.1.26');
     15    define('DELYVAX_PLUGIN_VERSION', '1.1.27');
    1616
    1717    require_once plugin_dir_path(__FILE__) . 'functions.php';
  • delyvax/trunk/functions.php

    r2672618 r2691138  
    910910                        $main_order->save();
    911911
     912                        $main_order->update_status('ready-to-collect');
     913
    912914                        $count = 0;
    913915                        foreach ($sub_orders as $sub)
     
    919921                            $sub_order->save();
    920922
     923                            $sub_order->update_status('ready-to-collect');
     924
    921925                            $consignmentNo = $trackingNo."-".($count+1);
    922926
     
    930934                        $main_order->update_meta_data( 'DelyvaXTrackingCode', $trackingNo );
    931935                        $main_order->save();
     936
     937                        $main_order->update_status('ready-to-collect');
    932938
    933939                        $consignmentNo = $trackingNo."-1";
     
    968974
    969975                      $consignmentNo = $trackingNo."-1";
    970 
    971976                  }
    972977            }
     
    10561061    ) );
    10571062    register_post_status( 'wc-ready-to-collect', array(
    1058         'label'                     => _x('Ready to collect', 'Order status', 'default' ),
     1063        'label'                     => _x('Package is Ready', 'Order status', 'default' ),
    10591064        'public'                    => true,
    10601065        'exclude_from_search'       => false,
    10611066        'show_in_admin_all_list'    => true,
    10621067        'show_in_admin_status_list' => true,
    1063         'label_count'               => _n_noop( 'Ready to collect (%s)', 'Ready to collect (%s)' )
     1068        'label_count'               => _n_noop( 'Package is Ready (%s)', 'Package is Ready (%s)' )
    10641069    ) );
    10651070    register_post_status( 'wc-courier-accepted', array(
     
    11451150        if ( 'wc-processing' === $key ) {
    11461151            $new_order_statuses['wc-preparing'] = _x('Preparing', 'Order status', 'woocommerce');
    1147             $new_order_statuses['wc-ready-to-collect'] = _x('Ready to collect', 'Order status', 'woocommerce');
     1152            $new_order_statuses['wc-ready-to-collect'] = _x('Package is Ready', 'Order status', 'woocommerce');
    11481153            $new_order_statuses['wc-courier-accepted'] = _x('Courier accepted', 'Order status', 'woocommerce');
    11491154            $new_order_statuses['wc-start-collecting'] = _x('Pending pick up', 'Order status', 'woocommerce');
     
    11721177        {
    11731178            $new_actions['mark_preparing'] = __( 'Mark as Preparing', 'woocommerce');
    1174             $new_actions['mark_ready-to-collect'] = __( 'Mark as Ready to collect', 'woocommerce');
     1179            $new_actions['mark_ready-to-collect'] = __( 'Mark as Package is Ready', 'woocommerce');
    11751180            $new_actions['mark_courier-accepted'] = __( 'Mark as Courier accepted', 'woocommerce');
    11761181            $new_actions['mark_start-collecting'] = __( 'Mark as Pending pick up', 'woocommerce');
  • delyvax/trunk/includes/delyvax-shipping.php

    r2672618 r2691138  
    323323            $multivendor_option = $settings['multivendor'];
    324324
     325            $checkout_pricing_enable = $settings['enable'];
     326
     327            if($checkout_pricing_enable != 'yes')
     328            {
     329                return;
     330            }
     331
    325332            $weight_unit = get_option('woocommerce_weight_unit');
    326333
     
    605612                              //$service_label = str_replace('(COD)', '', $service_label);
    606613
     614                    $service_code = $shipper['service']['serviceCompany']['companyCode'] ? $shipper['service']['serviceCompany']['companyCode'] : $shipper['service']['code'];
     615
    607616                    $rate = array(
    608                         'id' => $shipper['service']['code'],
     617                        'id' => $service_code,
    609618                        'label' => $service_label,
    610619                        'cost' => $cost,
     
    612621                        'calc_tax' => 'per_order',
    613622                        'meta_data' => array(
    614                             'service_code' => $shipper['service']['code'],
     623                            'service_code' => $service_code,
    615624                        ),
    616625                    );
  • delyvax/trunk/includes/delyvax-webhook.php

    r2581190 r2691138  
    22defined( 'ABSPATH' ) or die( 'No script kiddies please!');
    33add_action( 'woocommerce_update_options', 'delyvax_woocommerce_update_options', 10, 1 );
     4add_action( 'woocommerce_after_register_post_type', 'delyvax_webhook_order_created');
    45add_action( 'woocommerce_after_register_post_type', 'delyvax_webhook_get_tracking');
    56
     
    6465
    6566  $valid_url = get_site_url()."/?delyvax=webhook";
    66   $needed_event = ['order_tracking.update'];
     67  $needed_event = ['order_tracking.update','order.created'];
    6768
    6869  try {
     
    8485
    8586  }
     87}
     88
     89
     90function delyvax_webhook_order_created()
     91{
     92    $raw = file_get_contents('php://input');
     93    // var_dump($raw);
     94    // throw new Exception();
     95
     96    if($raw)
     97    {
     98        $json = json_decode($raw, true);
     99
     100        if( isset($json) )
     101        {
     102            $data = $json;
     103            $settings = get_option( 'woocommerce_delyvax_settings');
     104
     105            if( isset($data['id']) && isset($data['consignmentNo']) && isset($data['statusCode'])
     106                  && intval($settings['customer_id']) === intval($data['customerId']) )
     107            {
     108                  if ($settings['api_webhook_enable'] == 'yes')
     109                  {
     110                      $shipmentId = $data['id'];
     111                      $consignmentNo = $data['consignmentNo'];
     112                      $statusCode = $data['statusCode'];
     113
     114                      global $woocommerce;
     115
     116                      ///find order_id by $shipmentId
     117                      $orders = wc_get_orders( array(
     118                          // 'limit'        => -1, // Query all orders
     119                          // 'orderby'      => 'date',
     120                          // 'order'        => 'DESC',
     121                          'meta_key'     => 'DelyvaXOrderID', // The postmeta key field
     122                          'meta_value' => $shipmentId, // The comparison argument
     123                      ));
     124
     125                      for($i=0; $i < sizeof($orders); $i++)
     126                      {
     127                          $order = wc_get_order($orders[$i]->get_id());
     128
     129                          $order->get_status();
     130
     131                          // $order->update_meta_data( 'DelyvaXOrderID', $shipmentId );
     132                          $order->update_meta_data( 'DelyvaXTrackingCode', $consignmentNo );
     133                          $order->save();
     134
     135                          if (!empty($order))
     136                          {
     137                              //on the way to pick up
     138                              if( !$order->has_status('wc-ready-to-collect') )
     139                              {
     140                                  $order->update_status('ready-to-collect', 'Order status changed to Ready.', false); // order note is optional, if you want to  add a note to order
     141                                  // $order->update_status('courier-accepted');
     142
     143                                  wp_update_post(['ID' => $order->get_id(), 'post_status' => 'wc-ready-to-collect']);
     144
     145                                  //start update sub orders
     146                                  $sub_orders = get_children( array( 'post_parent' => $order->get_id(), 'post_type' => 'shop_order' ) );
     147
     148                                  if ( $sub_orders ) {
     149                                      foreach ($sub_orders as $sub)
     150                                      {
     151                                          $sub_order = wc_get_order($sub->ID);
     152                                          $sub_order->update_status('ready-to-collect');
     153                                          wp_update_post(['ID' => $sub->ID, 'post_status' => 'wc-ready-to-collect']);
     154                                      }
     155                                  }
     156                                  //end update sub orders
     157                              }
     158                          }
     159                      }
     160
     161                  }
     162            }
     163
     164        }
     165    }
    86166}
    87167
     
    134214                          $order->save();
    135215
    136                           if($statusCode == 100)
     216                          if($statusCode == 100 || $statusCode == 110)
    137217                          {
    138218                              if (!empty($order))
  • delyvax/trunk/readme.txt

    r2672618 r2691138  
    44Requires at least: 5.4
    55Tested up to: 5.7
    6 Stable tag: 1.1.26
     6Stable tag: 1.1.27
    77Requires PHP: 7.2
    88License: GPLv3
     
    3333== Changelog ==
    3434
     35= 1.1.27 =
     36*Release Date - 8th March 2022*
     37
     38* Change order status to Package is Ready after delivery order has been created.
     39
    3540= 1.1.26 =
    3641*Release Date - 3rd February 2022*
Note: See TracChangeset for help on using the changeset viewer.