- if ($get_from_order)
- { // entry point for direct delivery - cart contains completed order;
- // we should have qty_dispatched and standard cost set anyway
- unset($_SESSION['Items']->line_items);
- read_sales_order($_SESSION['Items']->order_no, $_SESSION['Items']);
-
- $duedate = get_invoice_duedate($_SESSION['Items']->customer_id, $_SESSION['Items']->delivery_date);
- $delivery_no = add_sales_delivery($_SESSION['Items'],
- $_SESSION['Items']->delivery_date, $duedate, $_SESSION['Items']->order_no,
- $_SESSION['Items']->tax_group_id, $_SESSION['Items']->freight_cost,
- $_SESSION['Items']->Location, $_SESSION['Items']->ship_via,
- $_SESSION['Items']->default_sales_type, references::get_next(13),
- $_SESSION['Items']->memo_,0);
- }
- else
- {
-
- if (!check_data())
- return;
-
- if (!check_order_changed())
- order_changed_error();
-
- if (!check_qoh())
- return;
-
- if ($_POST['bo_policy'])
- $bo_policy = 0;
- else
- $bo_policy = 1;
-
- $delivery_no = add_sales_delivery($_SESSION['Items'],
- $_POST['DispatchDate'], $_POST['due_date'], $_SESSION['ProcessingOrder'],
- $_SESSION['Items']->tax_group_id,$_POST['ChargeFreightCost'], $_POST['Location'],
- $_POST['ship_via'], $_POST['sales_type_id'], $_POST['ref'],
- $_POST['InvoiceText'], $bo_policy);
- unset($_SESSION['ProcessingOrder']);
+ $ok =1;
+ // Update cart delivery quantities/descriptions
+ foreach ($_SESSION['Items']->line_items as $line=>$itm) {
+ if (isset($_POST['Line'.$line])) {
+ 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;
+ }
+
+ }
+
+ if (isset($_POST['Line'.$line.'Desc'])) {
+ $line_desc = $_POST['Line'.$line.'Desc'];
+ if (strlen($line_desc) > 0) {
+ $_SESSION['Items']->line_items[$line]->item_description = $line_desc;
+ }
+ }