X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fsales_order_entry.php;h=f73a6d5fd8f5d5feb4ccee9db55fbd93a8b41ace;hb=84ebe8b3ebc1fc3e6508d75a4f39ce4a868b0b14;hp=98cf5411d64c99bd76528fffe5b63f1007f5fe27;hpb=18ce16fd14342f897111c66b40295af4d351ef58;p=fa-stable.git diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index 98cf5411..f73a6d5f 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -62,12 +62,12 @@ if ($use_date_picker) { if (isset($_GET['NewDelivery']) && is_numeric($_GET['NewDelivery'])) { $_SESSION['page_title'] = _($help_context = "Direct Sales Delivery"); - create_cart(ST_CUSTDELIVERY, 0); + create_cart(ST_CUSTDELIVERY, $_GET['NewDelivery']); } elseif (isset($_GET['NewInvoice']) && is_numeric($_GET['NewInvoice'])) { $_SESSION['page_title'] = _($help_context = "Direct Sales Invoice"); - create_cart(ST_SALESINVOICE, 0); + create_cart(ST_SALESINVOICE, $_GET['NewInvoice']); } elseif (isset($_GET['ModifyOrderNumber']) && is_numeric($_GET['ModifyOrderNumber'])) { @@ -231,6 +231,9 @@ if (isset($_GET['AddedID'])) { submenu_option(_("Enter a &New Direct Invoice"), "/sales/sales_order_entry.php?NewInvoice=0"); + if ($row === false) + submenu_option(_("Entry &customer payment for this invoice"), "/sales/customer_payments.php?SInvoice=".$invoice); + submenu_option(_("Add an Attachment"), "/admin/attachments.php?filterType=".ST_SALESINVOICE."&trans_no=$invoice"); display_footer_exit(); @@ -284,6 +287,7 @@ function copy_to_cart() $cart->dimension_id = $_POST['dimension_id']; $cart->dimension2_id = $_POST['dimension2_id']; } + $cart->ex_rate = input_num('_ex_rate', null); } //----------------------------------------------------------------------------- @@ -314,9 +318,9 @@ function copy_from_cart() if ($cart->trans_type!=ST_SALESORDER && $cart->trans_type!=ST_SALESQUOTE) { // 2008-11-12 Joe Hunt $_POST['dimension_id'] = $cart->dimension_id; $_POST['dimension2_id'] = $cart->dimension2_id; - } + } $_POST['cart_id'] = $cart->cart_id; - + $_POST['_ex_rate'] = $cart->ex_rate; } //-------------------------------------------------------------------------------- @@ -586,28 +590,29 @@ 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) + { + if ($_SESSION['Items']->trans_no != 0) + 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'); @@ -729,14 +734,20 @@ if ($customer_error == "") { submit_center_first('ProcessOrder', $porder, _('Check entered data and save document'), 'default'); + submit_center_last('CancelOrder', $cancelorder, + _('Cancels document entry or removes sales order when editing an old document'), true); submit_js_confirm('CancelOrder', _('You are about to void this Document.\nDo you want to continue?')); } else { submit_center_first('ProcessOrder', $corder, _('Validate changes and update document'), 'default'); + submit_center_last('CancelOrder', $cancelorder, + _('Cancels document entry or removes sales order when editing an old document'), true); + 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?')); + else + submit_js_confirm('CancelOrder', _('You are about to void this Document.\nDo you want to continue?')); } - submit_center_last('CancelOrder', $cancelorder, - _('Cancels document entry or removes sales order when editing an old document')); } else { display_error($customer_error); }