X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fsales_order_entry.php;h=50cc4470c5cd731199ee9b2a851f5742d6e048bb;hb=168210eba8649ac5538fd063f7d6c274025c037e;hp=309f60277ddd08b2b9590689e641e836f38fd941;hpb=817fa441b65944281a5ce8b59484f7629b4c8588;p=fa-stable.git diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index 309f6027..50cc4470 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -249,6 +249,7 @@ function copy_to_cart() $cart->document_date = $_POST['OrderDate']; $newpayment = false; + if (isset($_POST['payment']) && ($cart->payment != $_POST['payment'])) { $cart->payment = $_POST['payment']; $cart->payment_terms = get_payment_terms($_POST['payment']); @@ -258,7 +259,7 @@ function copy_to_cart() if ($newpayment) { $cart->due_date = $cart->document_date; $cart->phone = $cart->cust_ref = $cart->delivery_address = ''; - $cart->ship_via = 1; + $cart->ship_via = 0; $cart->deliver_to = ''; } } else { @@ -438,6 +439,13 @@ if (isset($_POST['ProcessOrder']) && can_process()) { if ($ret == -1) { display_error(_("The entered reference is already in use.")); + $ref = get_next_reference($_SESSION['Items']->trans_type); + if ($ref != $_SESSION['Items']->reference) + { + display_error(_("The reference number field has been increased. Please save the document again.")); + $_POST['ref'] = $_SESSION['Items']->reference = $ref; + $Ajax->activate('ref'); + } set_focus('ref'); } else @@ -578,28 +586,28 @@ function handle_cancel_order() if ($_SESSION['Items']->trans_type == ST_CUSTDELIVERY) { display_notification(_("Direct delivery entry has been cancelled as requested."), 1); submenu_option(_("Enter a New Sales Delivery"), "/sales/sales_order_entry.php?NewDelivery=1"); - } elseif ($_SESSION['Items']->trans_type == ST_SALESINVOICE) { display_notification(_("Direct invoice entry has been cancelled as requested."), 1); submenu_option(_("Enter a New Sales Invoice"), "/sales/sales_order_entry.php?NewInvoice=1"); - } else { + } elseif ($_SESSION['Items']->trans_type == ST_SALESQUOTE) + { + delete_sales_order(key($_SESSION['Items']->trans_no), $_SESSION['Items']->trans_type); + display_notification(_("This sales quotation has been cancelled as requested."), 1); + submenu_option(_("Enter a New Sales Quotation"), "/sales/sales_order_entry.php?NewQuotation=Yes"); + } else { // sales order if ($_SESSION['Items']->trans_no != 0) { - if ($_SESSION['Items']->trans_type == ST_SALESORDER && - sales_order_has_deliveries(key($_SESSION['Items']->trans_no))) - display_error(_("This order cannot be cancelled because some of it has already been invoiced or dispatched. However, the line item quantities may be modified.")); - else { + $order_no = key($_SESSION['Items']->trans_no); + if (sales_order_has_deliveries($order_no)) + { + close_sales_order($order_no); + display_notification(_("Undelivered part of order has been cancelled as requested."), 1); + submenu_option(_("Select Another Sales Order for Edition"), "/sales/inquiry/sales_orders_view.php?type=".ST_SALESORDER); + } else { delete_sales_order(key($_SESSION['Items']->trans_no), $_SESSION['Items']->trans_type); - if ($_SESSION['Items']->trans_type == ST_SALESQUOTE) - { - display_notification(_("This sales quotation has been cancelled as requested."), 1); - submenu_option(_("Enter a New Sales Quotation"), "/sales/sales_order_entry.php?NewQuotation=Yes"); - } - else - { - display_notification(_("This sales order has been cancelled as requested."), 1); - submenu_option(_("Enter a New Sales Order"), "/sales/sales_order_entry.php?NewOrder=Yes"); - } - } + + display_notification(_("This sales order has been cancelled as requested."), 1); + submenu_option(_("Enter a New Sales Order"), "/sales/sales_order_entry.php?NewOrder=Yes"); + } } else { processing_end(); meta_forward($path_to_root.'/index.php','application=orders'); @@ -723,6 +731,8 @@ if ($customer_error == "") { _('Check entered data and save document'), 'default'); submit_js_confirm('CancelOrder', _('You are about to void this Document.\nDo you want to continue?')); } else { + if ($_SESSION['Items']->trans_type==ST_SALESORDER) + submit_js_confirm('CancelOrder', _('You are about to cancel undelivered part of this order.\nDo you want to continue?')); submit_center_first('ProcessOrder', $corder, _('Validate changes and update document'), 'default'); } @@ -732,6 +742,7 @@ if ($customer_error == "") { } else { display_error($customer_error); } + end_form(); end_page(); ?> \ No newline at end of file