X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fsales_order_entry.php;h=9d87d93558b59985ccdb8ab20c5b3a136f7a9036;hb=b8ca787d4997e98d29af963f9e23534796381c44;hp=3517196df208c18965e70d7b915fde0269af05be;hpb=fc449c48a8d4ba23bfb18318dff08746340a440c;p=fa-stable.git diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index 3517196d..9d87d935 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,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; } @@ -470,10 +478,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