X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=sales%2Fcustomer_credit_invoice.php;h=4959c23c6ae515fbfd2952fb09d62696cded95af;hb=2e181b13aa722a43e78b897404912d6b13a0a937;hp=31306707c7597736e1fa05bb833bcdc009b81468;hpb=0c1bcd8ce3c089d7ddb3722a097f8fc8417f41e6;p=fa-stable.git
diff --git a/sales/customer_credit_invoice.php b/sales/customer_credit_invoice.php
index 31306707..4959c23c 100644
--- a/sales/customer_credit_invoice.php
+++ b/sales/customer_credit_invoice.php
@@ -1,4 +1,14 @@
.
+***********************************************************************/
//---------------------------------------------------------------------------
//
// Entry/Modify Credit Note for selected Sales Invoice
@@ -39,33 +49,33 @@ page($_SESSION['page_title'], false, false, "", $js);
if (isset($_GET['AddedID'])) {
$credit_no = $_GET['AddedID'];
$trans_type = 11;
- print_hidden_script(11);
display_notification_centered(_("Credit Note has been processed"));
- display_note(get_customer_trans_view_str($trans_type, $credit_no, _("View This Credit Note")), 0, 0);
+ display_note(get_customer_trans_view_str($trans_type, $credit_no, _("&View This Credit Note")), 0, 0);
- display_note(print_document_link($credit_no, _("Print This Credit Note"), true, 11),1);
+ display_note(print_document_link($credit_no, _("&Print This Credit Note"), true, 11),1);
- display_note(get_gl_view_str($trans_type, $credit_no, _("View the GL Journal Entries for this Credit Note")),1);
+ display_note(get_gl_view_str($trans_type, $credit_no, _("View the GL &Journal Entries for this Credit Note")),1);
display_footer_exit();
} elseif (isset($_GET['UpdatedID'])) {
$credit_no = $_GET['UpdatedID'];
$trans_type = 11;
- print_hidden_script(11);
display_notification_centered(_("Credit Note has been updated"));
- display_note(get_customer_trans_view_str($trans_type, $credit_no, _("View This Credit Note")), 0, 0);
+ display_note(get_customer_trans_view_str($trans_type, $credit_no, _("&View This Credit Note")), 0, 0);
- display_note(print_document_link($credit_no, _("Print This Credit Note"), true, 11),1);
+ display_note(print_document_link($credit_no, _("&Print This Credit Note"), true, 11),1);
- display_note(get_gl_view_str($trans_type, $credit_no, _("View the GL Journal Entries for this Credit Note")),1);
+ display_note(get_gl_view_str($trans_type, $credit_no, _("View the GL &Journal Entries for this Credit Note")),1);
display_footer_exit();
-}
+} else
+ check_edit_conflicts();
+
//-----------------------------------------------------------------------------
@@ -73,28 +83,36 @@ function can_process()
{
if (!is_date($_POST['CreditDate'])) {
display_error(_("The entered date is invalid."));;
+ set_focus('CreditDate');
return false;
} elseif (!is_date_in_fiscalyear($_POST['CreditDate'])) {
display_error(_("The entered date is not in fiscal year."));
+ set_focus('CreditDate');
return false;
}
if ($_SESSION['Items']->trans_no==0) {
if (!references::is_valid($_POST['ref'])) {
display_error(_("You must enter a reference."));;
+ set_focus('ref');
return false;
}
if (!is_new_reference($_POST['ref'], 11)) {
display_error(_("The entered reference is already in use."));;
+ set_focus('ref');
return false;
}
}
- if (!is_numeric($_POST['ChargeFreightCost']) || $_POST['ChargeFreightCost'] < 0) {
+ if (!check_num('ChargeFreightCost', 0)) {
display_error(_("The entered shipping cost is invalid or less than zero."));;
+ set_focus('ChargeFreightCost');
+ return false;
+ }
+ if (!check_quantities()) {
+ display_error(_("Selected quantity cannot be less than zero nor more than quantity not credited yet."));
return false;
}
-
return true;
}
@@ -104,15 +122,6 @@ if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) {
$ci = new Cart(10, $_GET['InvoiceNumber'], true);
- if ($ci==null) {
- display_error(_("This invoice can not be credited using the automatic facility."));
- display_error("Please report that a duplicate debtor_trans header record was found for invoice " . key($ci->src_docs));
- echo "
";
- processing_end();
- exit;
- }
- //valid invoice record returned from the entered invoice number
-
$ci->trans_type = 11;
$ci->src_docs = $ci->trans_no;
$ci->src_date = $ci->document_date;
@@ -135,14 +144,26 @@ if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) {
} elseif (!processing_active()) {
/* This page can only be called with an invoice number for crediting*/
die (_("This page can only be opened if an invoice has been selected for crediting."));
-} else {
+} elseif (!check_quantities()) {
+ display_error(_("Selected quantity cannot be less than zero nor more than quantity not credited yet."));
+}
+
+function check_quantities()
+{
+ $ok =1;
foreach ($_SESSION['Items']->line_items as $line_no=>$itm) {
+ if ($itm->quantity == $itm->qty_done) {
+ continue; // this line was fully credited/removed
+ }
if (isset($_POST['Line'.$line_no])) {
- $line_qty = $_POST['Line'.$line_no];
- if (is_numeric($line_qty) && $_POST['Line'.$line_no] <= ($itm->quantity - $itm->qty_done)) {
- $_SESSION['Items']->line_items[$line_no]->qty_dispatched = $line_qty;
+ if (check_num('Line'.$line_no, 0, $itm->quantity)) {
+ $_SESSION['Items']->line_items[$line_no]->qty_dispatched =
+ input_num('Line'.$line_no);
}
}
+ else {
+ $ok = 0;
+ }
if (isset($_POST['Line'.$line_no.'Desc'])) {
$line_desc = $_POST['Line'.$line_no.'Desc'];
@@ -151,6 +172,7 @@ if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) {
}
}
}
+ return $ok;
}
//-----------------------------------------------------------------------------
@@ -158,7 +180,7 @@ function copy_to_cart()
{
$cart = &$_SESSION['Items'];
$cart->ship_via = $_POST['ShipperID'];
- $cart->freight_cost = $_POST['ChargeFreightCost'];
+ $cart->freight_cost = input_num('ChargeFreightCost');
$cart->document_date = $_POST['CreditDate'];
$cart->Location = $_POST['Location'];
$cart->Comments = $_POST['CreditText'];
@@ -169,10 +191,11 @@ function copy_from_cart()
{
$cart = &$_SESSION['Items'];
$_POST['ShipperID'] = $cart->ship_via;
- $_POST['ChargeFreightCost'] = $cart->freight_cost;
+ $_POST['ChargeFreightCost'] = price_format($cart->freight_cost);
$_POST['CreditDate']= $cart->document_date;
$_POST['Location']= $cart->Location;
$_POST['CreditText']= $cart->Comments;
+ $_POST['cart_id'] = $cart->cart_id;
}
//-----------------------------------------------------------------------------
@@ -207,6 +230,7 @@ function display_credit_items()
global $table_style, $table_style2;
start_form(false, true);
+ hidden('cart_id');
start_table("$table_style2 width=80%", 5);
echo "