/**
  * Mark the entire order as being redeemed if it contains all redeemed vouchers.
  * Also, generate any voucher pdfs for items newly added from the admin
  *
  * @since 1.2
  * @param int $post_id the order id
  * @param object $post the order
  */
 public function maybe_complete_order($post_id, $post)
 {
     // generate any vouchers as needed
     wc_pdf_product_vouchers()->get_voucher_handler()->generate_voucher_pdf($post_id);
     $order = wc_get_order($post_id);
     $voucher_count = 0;
     // if the order status is not completed, and the entire order has not already been marked as 'voucher redeemed'
     if (!WC_PDF_Product_Vouchers_Order::vouchers_redeemed($order)) {
         foreach (WC_PDF_Product_Vouchers_Order::get_vouchers($order) as $voucher) {
             $voucher_count++;
             // an unredeemed voucher, bail
             if (!$voucher->is_redeemed()) {
                 return;
             }
         }
         if ($voucher_count) {
             // if we made it here, it means this order contains only voucher items, and they are all redeemed
             WC_PDF_Product_Vouchers_Order::mark_vouchers_redeemed($order, $voucher_count);
         }
     }
 }