X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fcustomer_delivery.php;fp=sales%2Fcustomer_delivery.php;h=fba45c7baf06f739fcb79eabd039c3b9dad611c0;hb=3f3cfa578adbc2b71f4fd9c8d0f5536d26af43d8;hp=eb78f62e295731f6ec2dd3ad37e051e078709400;hpb=d585998d2265b8c65a24e30566f8f29683ff2406;p=fa-stable.git diff --git a/sales/customer_delivery.php b/sales/customer_delivery.php index eb78f62e..fba45c7b 100644 --- a/sales/customer_delivery.php +++ b/sales/customer_delivery.php @@ -58,7 +58,8 @@ if (isset($_GET['AddedID'])) { display_note(get_gl_view_str(13, $dispatch_no, _("View the GL Journal Entries for this Dispatch")),1); - hyperlink_params("$path_to_root/sales/customer_invoice.php", _("Invoice This Delivery"), "DeliveryNumber=$dispatch_no"); + if (!isset($_GET['prepaid'])) + hyperlink_params("$path_to_root/sales/customer_invoice.php", _("Invoice This Delivery"), "DeliveryNumber=$dispatch_no"); hyperlink_params("$path_to_root/sales/inquiry/sales_orders_view.php", _("Select Another Order For Dispatch"), "OutstandingOnly=1"); @@ -77,7 +78,8 @@ if (isset($_GET['AddedID'])) { display_note(print_document_link($delivery_no, _("P&rint as Packing Slip"), true, ST_CUSTDELIVERY, false, "printlink", "", 0, 1)); display_note(print_document_link($delivery_no, _("E&mail as Packing Slip"), true, ST_CUSTDELIVERY, false, "printlink", "", 1, 1), 1); - hyperlink_params($path_to_root . "/sales/customer_invoice.php", _("Confirm Delivery and Invoice"), "DeliveryNumber=$delivery_no"); + if (!isset($_GET['prepaid'])) + hyperlink_params($path_to_root . "/sales/customer_invoice.php", _("Confirm Delivery and Invoice"), "DeliveryNumber=$delivery_no"); hyperlink_params($path_to_root . "/sales/inquiry/sales_deliveries_view.php", _("Select A Different Delivery"), "OutstandingOnly=1"); @@ -88,13 +90,22 @@ if (isset($_GET['AddedID'])) { if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { $ord = new Cart(ST_SALESORDER, $_GET['OrderNumber'], true); + if ($ord->is_prepaid()) + check_deferred_income_act(_("You have to set Deferred Income Account in GL Setup to entry prepayment invoices.")); if ($ord->count_items() == 0) { + echo "
" . _("This order has no items. There is nothing to delivery.") . + "
"; hyperlink_params($path_to_root . "/sales/inquiry/sales_orders_view.php", _("Select a different sales order to delivery"), "OutstandingOnly=1"); - die ("
" . _("This order has no items. There is nothing to delivery.") . ""); + display_footer_exit(); + } else if (!$ord->prep_amount) { + echo "
"._("This prepayment order is not yet ready for delivery due to insufficient amount received.") + ."
"; + hyperlink_params($path_to_root . "/sales/inquiry/sales_orders_view.php",_("Select a different sales order to delivery"), + "OutstandingOnly=1"); + display_footer_exit(); } - // Adjust Shipping Charge based upon previous deliveries TAM adjust_shipping_charge($ord, $_GET['OrderNumber']); @@ -103,9 +114,10 @@ if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { } elseif (isset($_GET['ModifyDelivery']) && $_GET['ModifyDelivery'] > 0) { - $_SESSION['Items'] = new Cart(ST_CUSTDELIVERY, $_GET['ModifyDelivery']); + check_is_editable(ST_CUSTDELIVERY, $_GET['ModifyDelivery']); + $_SESSION['Items'] = new Cart(ST_CUSTDELIVERY,$_GET['ModifyDelivery']); - if ($_SESSION['Items']->count_items() == 0) { + if (!$_SESSION['Items']->prepaid && $_SESSION['Items']->count_items() == 0) { hyperlink_params($path_to_root . "/sales/inquiry/sales_orders_view.php", _("Select a different delivery"), "OutstandingOnly=1"); echo "
" . _("This delivery has all items invoiced. There is nothing to modify.") . @@ -150,7 +162,7 @@ function check_data() } if (!is_date_in_fiscalyear($_POST['DispatchDate'])) { - display_error(_("The entered date of delivery is not in fiscal year.")); + display_error(_("The entered date is out of fiscal year or is closed for further data entry.")); set_focus('DispatchDate'); return false; } @@ -276,7 +288,7 @@ function check_qoh() if (!$newdelivery) { $delivered = get_already_delivered($itm->stock_id, $_POST['Location'], key($dn->trans_no)); - + $qoh_abs = $qoh_abs - $delivered; $qoh_by_date = $qoh_by_date - $delivered; } @@ -314,13 +326,15 @@ if (isset($_POST['process_delivery']) && check_data() && check_qoh()) { } else { + $is_prepaid = $dn->is_prepaid() ? "&prepaid=Yes" : ''; + processing_end(); if ($newdelivery) { - meta_forward($_SERVER['PHP_SELF'], "AddedID=$delivery_no"); + meta_forward($_SERVER['PHP_SELF'], "AddedID=$delivery_no$is_prepaid"); } else { - meta_forward($_SERVER['PHP_SELF'], "UpdatedID=$delivery_no"); + meta_forward($_SERVER['PHP_SELF'], "UpdatedID=$delivery_no$is_prepaid"); } - } + } } if (isset($_POST['Update']) || isset($_POST['_Location_update'])) {