X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fsales_order_entry.php;h=dad3c63c1e846014e232a26c246676a1dd59a384;hb=b14f304532b7d124e79ee2a03d60a0850c8a417d;hp=485776933d56ea779482ab0dbe43bd036516b05c;hpb=f0e1edfccbf3608463c9da99b40f9c65fd298bb3;p=fa-stable.git diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index 48577693..dad3c63c 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -101,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'])) @@ -385,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'); @@ -448,6 +453,10 @@ function can_process() { display_error("Invoice total amount cannot be less than zero."); return false; } + + if ($_SESSION['Items']->payment_terms['cash_sale'] && + ($_SESSION['Items']->trans_type == ST_CUSTDELIVERY || $_SESSION['Items']->trans_type == ST_SALESINVOICE)) + $_SESSION['Items']->due_date = $_SESSION['Items']->document_date; return true; } @@ -470,10 +479,9 @@ if (isset($_POST['ProcessOrder']) && can_process()) { $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 @@ -531,7 +539,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) {