X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fsales_order_entry.php;h=1bb20d1741eb146b0068f703079ff7e572a6d708;hb=649c678c71f2827326c9761b0091bb15196f8878;hp=da9b9ce9a275b94a72ae8c3a1534eeaec92d6ae3;hpb=ad0fdc78ec8ae2b67ef1b3a6d4f3393dba242310;p=fa-stable.git diff --git a/sales/sales_order_entry.php b/sales/sales_order_entry.php index da9b9ce9..1bb20d17 100644 --- a/sales/sales_order_entry.php +++ b/sales/sales_order_entry.php @@ -95,6 +95,12 @@ if (isset($_GET['NewDelivery']) && is_numeric($_GET['NewDelivery'])) { } page($_SESSION['page_title'], false, false, "", $js); + +if (isset($_GET['ModifyOrderNumber'])) + check_is_editable(ST_SALESORDER, $_GET['ModifyOrderNumber']); +elseif (isset($_GET['ModifyQuotationNumber'])) + check_is_editable(ST_SALESQUOTE, $_GET['ModifyQuotationNumber']); + //----------------------------------------------------------------------------- if (list_updated('branch_id')) { @@ -261,6 +267,7 @@ function copy_to_cart() $cart->phone = $cart->cust_ref = $cart->delivery_address = ''; $cart->ship_via = 0; $cart->deliver_to = ''; + $cart->prep_amount = 0; } } else { $cart->due_date = $_POST['delivery_date']; @@ -269,6 +276,8 @@ function copy_to_cart() $cart->delivery_address = $_POST['delivery_address']; $cart->phone = $_POST['phone']; $cart->ship_via = $_POST['ship_via']; + if (!$cart->trans_no || ($cart->trans_type == ST_SALESORDER && !$cart->is_started())) + $cart->prep_amount = input_num('prep_amount', 0); } $cart->Location = $_POST['Location']; $cart->freight_cost = input_num('freight_cost'); @@ -284,6 +293,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); } //----------------------------------------------------------------------------- @@ -309,14 +319,15 @@ function copy_from_cart() $_POST['branch_id'] = $cart->Branch; $_POST['sales_type'] = $cart->sales_type; + $_POST['prep_amount'] = price_format($cart->prep_amount); // POS $_POST['payment'] = $cart->payment; 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; } //-------------------------------------------------------------------------------- @@ -351,7 +362,7 @@ function can_process() { return false; } if ($_SESSION['Items']->trans_type!=ST_SALESORDER && $_SESSION['Items']->trans_type!=ST_SALESQUOTE && !is_date_in_fiscalyear($_POST['OrderDate'])) { - display_error(_("The entered date is not in fiscal year")); + display_error(_("The entered date is out of fiscal year or is closed for further data entry.")); set_focus('OrderDate'); return false; } @@ -361,11 +372,17 @@ function can_process() { return false; } if ($_SESSION['Items']->payment_terms['cash_sale'] == 0) { - if (strlen($_POST['deliver_to']) <= 1) { - display_error(_("You must enter the person or company to whom delivery should be made to.")); - set_focus('deliver_to'); - return false; - } + if (!$_SESSION['Items']->is_started() && ($_SESSION['Items']->payment_terms['days_before_due'] < 0) && ((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'); + return false; + } + if (strlen($_POST['deliver_to']) <= 1) { + display_error(_("You must enter the person or company to whom delivery should be made to.")); + set_focus('deliver_to'); + return false; + } if ($_SESSION['Items']->trans_type != ST_SALESQUOTE && strlen($_POST['delivery_address']) <= 1) { @@ -712,8 +729,7 @@ if ($_SESSION['Items']->trans_type == ST_SALESINVOICE) { start_form(); hidden('cart_id'); -$customer_error = display_order_header($_SESSION['Items'], - ($_SESSION['Items']->any_already_delivered() == 0), $idate); +$customer_error = display_order_header($_SESSION['Items'], !$_SESSION['Items']->is_started(), $idate); if ($customer_error == "") { start_table(TABLESTYLE, "width=80%", 10);