X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fcustomer_delivery.php;h=ae077419e07c752119f5500a454244c53d6d002f;hb=18ccf94f0421e7693bc40e177732a3f937b54d1a;hp=a1672775c74685780b4bc4ed9ed558d1e6135b2a;hpb=0c1bcd8ce3c089d7ddb3722a097f8fc8417f41e6;p=fa-stable.git diff --git a/sales/customer_delivery.php b/sales/customer_delivery.php index a1672775..ae077419 100644 --- a/sales/customer_delivery.php +++ b/sales/customer_delivery.php @@ -1,4 +1,14 @@ . +***********************************************************************/ //----------------------------------------------------------------------------- // // Entry/Modify Delivery Note against Sales Order @@ -36,7 +46,6 @@ page($_SESSION['page_title'], false, false, "", $js); if (isset($_GET['AddedID'])) { $dispatch_no = $_GET['AddedID']; - print_hidden_script(13); display_notification(_("Dispatch processed:") . ' '.$_GET['AddedID'], true); @@ -55,7 +64,6 @@ if (isset($_GET['AddedID'])) { } elseif (isset($_GET['UpdatedID'])) { $delivery_no = $_GET['UpdatedID']; - print_hidden_script(13); display_notification_centered(sprintf(_('Delivery Note # %d has been updated.'),$delivery_no)); @@ -73,7 +81,7 @@ if (isset($_GET['AddedID'])) { if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { - $ord = new Cart(30,$_GET['OrderNumber'], true); + $ord = new Cart(30, $_GET['OrderNumber'], true); /*read in all the selected order into the Items cart */ @@ -88,6 +96,7 @@ if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { $ord->order_no = key($ord->trans_no); $ord->trans_no = 0; $ord->reference = references::get_next(13); + $ord->document_date = Today(); $_SESSION['Items'] = $ord; copy_from_cart(); @@ -104,7 +113,7 @@ if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { } copy_from_cart(); - + } elseif ( !processing_active() ) { /* This page can only be called with an order number for invoicing*/ @@ -115,56 +124,70 @@ if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { end_page(); exit; -} elseif (!check_quantities()) { - display_error(_("Selected quantity cannot be less then quantity invoiced nor more then quantity - not dispatched on sales order.")); +} else { + check_edit_conflicts(); + + if (!check_quantities()) { + display_error(_("Selected quantity cannot be less than quantity invoiced nor more than quantity + not dispatched on sales order.")); + + } elseif(!check_num('ChargeFreightCost', 0)) + display_error(_("Freight cost cannot be less than zero")); + set_focus('ChargeFreightCost'); } + //----------------------------------------------------------------------------- function check_data() { if (!isset($_POST['DispatchDate']) || !is_date($_POST['DispatchDate'])) { display_error(_("The entered date of delivery is invalid.")); + set_focus('DispatchDate'); return false; } if (!is_date_in_fiscalyear($_POST['DispatchDate'])) { display_error(_("The entered date of delivery is not in fiscal year.")); + set_focus('DispatchDate'); return false; } if (!isset($_POST['due_date']) || !is_date($_POST['due_date'])) { display_error(_("The entered dead-line for invoice is invalid.")); + set_focus('due_date'); return false; } if ($_SESSION['Items']->trans_no==0) { if (!references::is_valid($_POST['ref'])) { display_error(_("You must enter a reference.")); + set_focus('ref'); return false; } if ($_SESSION['Items']->trans_no==0 && !is_new_reference($_POST['ref'], 13)) { display_error(_("The entered reference is already in use.")); + set_focus('ref'); return false; } } if ($_POST['ChargeFreightCost'] == "") { - $_POST['ChargeFreightCost'] = 0; + $_POST['ChargeFreightCost'] = price_format(0); } - if (!is_numeric($_POST['ChargeFreightCost']) || $_POST['ChargeFreightCost'] < 0) { + if (!check_num('ChargeFreightCost',0)) { display_error(_("The entered shipping value is not numeric.")); + set_focus('ChargeFreightCost'); return false; } - if ($_SESSION['Items']->has_items_dispatch() == 0 && $_POST['ChargeFreightCost'] == 0) { + if ($_SESSION['Items']->has_items_dispatch() == 0 && input_num('ChargeFreightCost') == 0) { display_error(_("There are no item quantities on this delivery note.")); return false; } if (!check_quantities()) { - display_error(_("Selected quantity cannot be less then quantity invoiced nor more then quantity + display_error(_("Selected quantity cannot be less than quantity invoiced nor more than quantity not dispatched on sales order.")); return false; } @@ -176,12 +199,14 @@ function copy_to_cart() { $cart = &$_SESSION['Items']; $cart->ship_via = $_POST['ship_via']; - $cart->freight_cost = $_POST['ChargeFreightCost']; - $cart->document_date = $_POST['DispatchDate']; + $cart->freight_cost = input_num('ChargeFreightCost'); + $cart->document_date = $_POST['DispatchDate']; $cart->due_date = $_POST['due_date']; $cart->Location = $_POST['Location']; $cart->Comments = $_POST['Comments']; - $cart->default_sales_type = $_POST['sales_type_id']; + if ($cart->trans_no == 0) + $dn->ref = $_POST['ref']; + } //------------------------------------------------------------------------------ @@ -189,12 +214,12 @@ function copy_from_cart() { $cart = &$_SESSION['Items']; $_POST['ship_via'] = $cart->ship_via; - $_POST['ChargeFreightCost'] = $cart->freight_cost; - $_POST['DispatchDate']= $cart->document_date; + $_POST['ChargeFreightCost'] = price_format($cart->freight_cost); + $_POST['DispatchDate'] = $cart->document_date; $_POST['due_date'] = $cart->due_date; - $_POST['Location']= $cart->Location; - $_POST['Comments']= $cart->Comments; - $_POST['sales_type_id'] = $cart->default_sales_type; + $_POST['Location'] = $cart->Location; + $_POST['Comments'] = $cart->Comments; + $_POST['cart_id'] = $cart->cart_id; } //------------------------------------------------------------------------------ @@ -204,12 +229,19 @@ function check_quantities() // Update cart delivery quantities/descriptions foreach ($_SESSION['Items']->line_items as $line=>$itm) { if (isset($_POST['Line'.$line])) { - $line_qty = $_POST['Line'.$line]; - if (is_numeric($line_qty) && ($_POST['Line'.$line] <= $itm->quantity) && - ($_POST['Line'.$line] >= $itm->qty_done)) { - - $_SESSION['Items']->line_items[$line]->qty_dispatched = $line_qty; + if($_SESSION['Items']->trans_no) { + $min = $itm->qty_done; + $max = $itm->quantity; + } else { + $min = 0; + $max = $itm->quantity - $itm->qty_done; + } + + if (check_num('Line'.$line, $min, $max)) { + $_SESSION['Items']->line_items[$line]->qty_dispatched = + input_num('Line'.$line); } else { + set_focus('Line'.$line); $ok = 0; } @@ -222,8 +254,9 @@ function check_quantities() } } } - $_SESSION['Items']->freight_cost = $_POST['ChargeFreightCost']; - +// ... +// else +// $_SESSION['Items']->freight_cost = input_num('ChargeFreightCost'); return $ok; } //------------------------------------------------------------------------------ @@ -257,15 +290,12 @@ if (isset($_POST['process_delivery']) && check_data() && check_qoh()) { } else { $bo_policy = 1; } - $newdelivery = $dn->trans_no==0; - - if ($newdelivery) - $dn->ref = $_POST['ref']; + $newdelivery = ($dn->trans_no == 0); copy_to_cart(); $delivery_no = $dn->write($bo_policy); - processing_end(); + processing_end(); if ($newdelivery) { meta_forward($_SERVER['PHP_SELF'], "AddedID=$delivery_no"); } else { @@ -273,8 +303,12 @@ if (isset($_POST['process_delivery']) && check_data() && check_qoh()) { } } +if (isset($_POST['Update']) || isset($_POST['_Location_update'])) { + $Ajax->activate('Items'); +} //------------------------------------------------------------------------------ start_form(false, true); +hidden('cart_id'); start_table("$table_style2 width=80%", 5); echo "