X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=sales%2Fcustomer_credit_invoice.php;h=8ccbb6e9cfcf217faab43851b7b535f91d20ada3;hb=3e2a432dd72688dbac39a07716201b2b00c16c8b;hp=3c0f9fa43ce76e8593f62cb2790cf78a3172f27e;hpb=99730b8d6deb7e81d2f1ebeb2ce7066d27729485;p=fa-stable.git
diff --git a/sales/customer_credit_invoice.php b/sales/customer_credit_invoice.php
index 3c0f9fa4..8ccbb6e9 100644
--- a/sales/customer_credit_invoice.php
+++ b/sales/customer_credit_invoice.php
@@ -99,7 +99,10 @@ function can_process()
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;
}
@@ -140,14 +143,23 @@ 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 (isset($_POST['Line'.$line_no])) {
- if (check_num('Line'.$line_no, ($itm->quantity - $itm->qty_done))) {
+ 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'];
@@ -156,6 +168,7 @@ if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) {
}
}
}
+ return $ok;
}
//-----------------------------------------------------------------------------
@@ -262,6 +275,7 @@ function display_credit_items()
end_table(1); // outer table
+ div_start('credit_items');
start_table("$table_style width=80%");
$th = array(_("Item Code"), _("Item Description"), _("Invoiced Quantity"), _("Units"),
_("Credit Quantity"), _("Price"), _("Discount %"), _("Total"));
@@ -279,13 +293,12 @@ function display_credit_items()
// view_stock_status_cell($ln_itm->stock_id); alternative view
label_cell($ln_itm->stock_id);
- text_cells(null, 'Line'.$line_no.'Desc', $ln_itm->item_description, 30, 50);
-
- qty_cell($ln_itm->quantity, false, get_qty_dec($ln_itm->stock_id));
+ text_cells(null, 'Line'.$line_no.'Desc', $ln_itm->item_description, 30, 50);
+ $dec = get_qty_dec($ln_itm->stock_id);
+ qty_cell($ln_itm->quantity, false, $dec);
label_cell($ln_itm->units);
-
- amount_cells(null, 'Line'.$line_no, qty_format($ln_itm->qty_dispatched, $ln_itm->stock_id));
-
+ amount_cells(null, 'Line'.$line_no, number_format2($ln_itm->qty_dispatched, $dec),
+ null, null, $dec);
$line_total =($ln_itm->qty_dispatched * $ln_itm->price * (1 - $ln_itm->discount_percent));
amount_cell($ln_itm->price);
@@ -300,7 +313,7 @@ function display_credit_items()
start_row();
label_cell(_("Credit Shipping Cost"), "colspan=7 align=right");
- amount_cells(null, "ChargeFreightCost", $_POST['ChargeFreightCost'], 6, 6);
+ amount_cells_ex(null, "ChargeFreightCost", 6, 8, $_POST['ChargeFreightCost']);
end_row();
$inv_items_total = $_SESSION['Items']->get_items_total_dispatch();
@@ -317,53 +330,56 @@ function display_credit_items()
label_row(_("Credit Note Total"), $display_total, "colspan=7 align=right", "align=right");
end_table();
+ div_end();
}
//-----------------------------------------------------------------------------
-
function display_credit_options()
{
- global $table_style2;
-
- echo "
";
- start_table($table_style2);
-
- echo "