X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fsales_order_entry.php;h=9d87d93558b59985ccdb8ab20c5b3a136f7a9036;hb=b8ca787d4997e98d29af963f9e23534796381c44;hp=b608c2001bd06935541ae628bc035ee34888e38a;hpb=17b390efcf904072b02ec866b2a427490471a260;p=fa-stable.git diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index b608c200..9d87d935 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -66,9 +66,14 @@ if (isset($_GET['NewDelivery']) && is_numeric($_GET['NewDelivery'])) { } elseif (isset($_GET['NewInvoice']) && is_numeric($_GET['NewInvoice'])) { - $_SESSION['page_title'] = _($help_context = "Direct Sales Invoice"); create_cart(ST_SALESINVOICE, $_GET['NewInvoice']); + if (isset($_GET['FixedAsset'])) { + $_SESSION['page_title'] = _($help_context = "Fixed Assets Sale"); + $_SESSION['Items']->fixed_asset = true; + } else + $_SESSION['page_title'] = _($help_context = "Direct Sales Invoice"); + } elseif (isset($_GET['ModifyOrderNumber']) && is_numeric($_GET['ModifyOrderNumber'])) { $help_context = 'Modifying Sales Order'; @@ -96,6 +101,11 @@ if (isset($_GET['NewDelivery']) && is_numeric($_GET['NewDelivery'])) { page($_SESSION['page_title'], false, false, "", $js); +if (isset($_GET['ModifyOrderNumber']) && is_prepaid_order_open($_GET['ModifyOrderNumber'])) +{ + display_error(_("This order cannot be edited because there are invoices or payments related to it, and prepayment terms were used.")); + end_page(); exit; +} if (isset($_GET['ModifyOrderNumber'])) check_is_editable(ST_SALESORDER, $_GET['ModifyOrderNumber']); elseif (isset($_GET['ModifyQuotationNumber'])) @@ -332,10 +342,10 @@ function copy_from_cart() //-------------------------------------------------------------------------------- function line_start_focus() { - global $Ajax; + global $Ajax; - $Ajax->activate('items_table'); - set_focus('_stock_id_edit'); + $Ajax->activate('items_table'); + set_focus('_stock_id_edit'); } //-------------------------------------------------------------------------------- @@ -380,7 +390,7 @@ function can_process() { return false; } if ($_SESSION['Items']->payment_terms['cash_sale'] == 0) { - if (!$_SESSION['Items']->is_started() && ($_SESSION['Items']->payment_terms['days_before_due'] < 0) && ((input_num('prep_amount')<=0) || + if (!$_SESSION['Items']->is_started() && ($_SESSION['Items']->payment_terms['days_before_due'] == -1) && ((input_num('prep_amount')<=0) || input_num('prep_amount')>$_SESSION['Items']->get_trans_total())) { display_error(_("Pre-payment required have to be positive and less than total amount.")); set_focus('prep_amount'); @@ -431,7 +441,7 @@ function can_process() { return false; } } - if (!$Refs->is_valid($_POST['ref'])) { + if (!$Refs->is_valid($_POST['ref'], $_SESSION['Items']->trans_type)) { display_error(_("You must enter a reference.")); set_focus('ref'); return false; @@ -443,6 +453,9 @@ function can_process() { display_error("Invoice total amount cannot be less than zero."); return false; } + + if ($_SESSION['Items']->payment_terms['cash_sale']) + $_SESSION['Items']->due_date = $_SESSION['Items']->document_date; return true; } @@ -462,13 +475,12 @@ 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); + $ref = $Refs->get_next($_SESSION['Items']->trans_type, null, array('date' => Today())); if ($ref != $_SESSION['Items']->reference) { + unset($_POST['ref']); // force refresh 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 @@ -526,7 +538,7 @@ function check_item_data() return false; } - $cost_home = get_standard_cost(get_post('stock_id')); // Added 2011-03-27 Joe Hunt + $cost_home = get_unit_cost(get_post('stock_id')); // Added 2011-03-27 Joe Hunt $cost = $cost_home / get_exchange_rate_from_home_currency($_SESSION['Items']->customer_currency, $_SESSION['Items']->document_date); if (input_num('price') < $cost) { @@ -565,7 +577,7 @@ function handle_delete_item($line_no) if ($_SESSION['Items']->some_already_delivered($line_no) == 0) { $_SESSION['Items']->remove_from_cart($line_no); } else { - display_error(_("This item cannot be deleted because some of it has already been delivered.")); + display_error(_("This item cannot be deleted because some of it has already been delivered.")); } line_start_focus(); } @@ -624,7 +636,6 @@ function handle_cancel_order() meta_forward($path_to_root.'/index.php','application=orders'); } } - $Ajax->activate('_page_body'); processing_end(); display_footer_exit(); } @@ -658,7 +669,7 @@ function create_cart($type, $trans_no) $doc->pos = get_sales_point(user_pos()); } else $doc->due_date = $doc->document_date; - $doc->reference = $Refs->get_next($doc->trans_type); + $doc->reference = $Refs->get_next($doc->trans_type, null, array('date' => Today())); //$doc->Comments=''; foreach($doc->line_items as $line_no => $line) { $doc->line_items[$line_no]->qty_done = 0; @@ -689,7 +700,10 @@ if (isset($_POST['CancelItemChanges'])) { } //-------------------------------------------------------------------------------- -check_db_has_stock_items(_("There are no inventory items defined in the system.")); +if ($_SESSION['Items']->fixed_asset) + check_db_has_disposable_fixed_assets(_("There are no fixed assets defined in the system.")); +else + check_db_has_stock_items(_("There are no inventory items defined in the system.")); check_db_has_customer_branches(_("There are no customers, or there are no customers with branches. Please define customers and customer branches.")); @@ -740,13 +754,13 @@ 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); + _('Cancels document entry or removes sales order when editing an old document')); 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); + _('Cancels document entry or removes sales order when editing an old document')); 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