X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fcustomer_delivery.php;h=ae077419e07c752119f5500a454244c53d6d002f;hb=18ccf94f0421e7693bc40e177732a3f937b54d1a;hp=eca3446868a64aa6cda2b774f445016d6a117204;hpb=0ad7b92c6cf2e4e65ca0fa94ba31f30f7b292ba8;p=fa-stable.git diff --git a/sales/customer_delivery.php b/sales/customer_delivery.php index eca34468..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,13 +124,17 @@ if (isset($_GET['OrderNumber']) && $_GET['OrderNumber'] > 0) { end_page(); exit; -} elseif (!check_quantities()) { - display_error(_("Selected quantity cannot be less than quantity invoiced nor more than quantity - not dispatched on sales order.")); +} else { + check_edit_conflicts(); -} elseif(!check_num('ChargeFreightCost', 0)) - display_error(_("Freight cost cannot be less than zero")); + 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'); +} //----------------------------------------------------------------------------- @@ -129,27 +142,32 @@ 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; } } @@ -159,6 +177,7 @@ function check_data() if (!check_num('ChargeFreightCost',0)) { display_error(_("The entered shipping value is not numeric.")); + set_focus('ChargeFreightCost'); return false; } @@ -181,7 +200,7 @@ function copy_to_cart() $cart = &$_SESSION['Items']; $cart->ship_via = $_POST['ship_via']; $cart->freight_cost = input_num('ChargeFreightCost'); - $cart->document_date = $_POST['DispatchDate']; + $cart->document_date = $_POST['DispatchDate']; $cart->due_date = $_POST['due_date']; $cart->Location = $_POST['Location']; $cart->Comments = $_POST['Comments']; @@ -196,10 +215,11 @@ function copy_from_cart() $cart = &$_SESSION['Items']; $_POST['ship_via'] = $cart->ship_via; $_POST['ChargeFreightCost'] = price_format($cart->freight_cost); - $_POST['DispatchDate']= $cart->document_date; + $_POST['DispatchDate'] = $cart->document_date; $_POST['due_date'] = $cart->due_date; - $_POST['Location']= $cart->Location; - $_POST['Comments']= $cart->Comments; + $_POST['Location'] = $cart->Location; + $_POST['Comments'] = $cart->Comments; + $_POST['cart_id'] = $cart->cart_id; } //------------------------------------------------------------------------------ @@ -209,10 +229,19 @@ function check_quantities() // Update cart delivery quantities/descriptions foreach ($_SESSION['Items']->line_items as $line=>$itm) { if (isset($_POST['Line'.$line])) { - if (!check_num('Line'.$line, $itm->qty_done, $itm->quantity) == 0) { - $_SESSION['Items']->line_items[$line]->qty_dispatched = + 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; } @@ -274,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 "