Bug in tax_types_list (spec_id)
[fa-stable.git] / sales / customer_invoice.php
index c2ffcfe0382d3808e2072d01ae21d72de7e6f9f4..9a6da912b01273dbea7b8c5b3f34ba391970f410 100644 (file)
@@ -114,6 +114,12 @@ if ( (isset($_GET['DeliveryNumber']) && ($_GET['DeliveryNumber'] > 0) )
 
 } elseif (isset($_GET['ModifyInvoice']) && $_GET['ModifyInvoice'] > 0) {
 
+       if ( get_parent_trans(10, $_GET['ModifyInvoice']) == 0) { // 1.xx compatibility hack
+               echo"<center><br><b>" . _("There in no delivery notes for this invoice.<br>
+               Most likely this invoice was created in Front Accounting version prior to 2.0
+               and therefore can not be modified.") . "</b></center>";
+               display_footer_exit();
+       }
        processing_start();
        $_SESSION['Items'] = new Cart(10, $_GET['ModifyInvoice']);
 
@@ -176,27 +182,32 @@ function check_data()
 {
        if (!isset($_POST['InvoiceDate']) || !is_date($_POST['InvoiceDate'])) {
                display_error(_("The entered invoice date is invalid."));
+               set_focus('InvoiceDate');
                return false;
        }
 
        if (!is_date_in_fiscalyear($_POST['InvoiceDate'])) {
                display_error(_("The entered invoice date is not in fiscal year."));
+               set_focus('InvoiceDate');
                return false;
        }
 
        if (!isset($_POST['due_date']) || !is_date($_POST['due_date'])) {
                display_error(_("The entered invoice due date is invalid."));
+               set_focus('due_date');
                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'], 10)) {
                        display_error(_("The entered reference is already in use."));
+                       set_focus('ref');
                        return false;
                }
        }
@@ -207,6 +218,7 @@ function check_data()
 
        if (!check_num('ChargeFreightCost', 0)) {
                display_error(_("The entered shipping value is not numeric."));
+               set_focus('ChargeFreightCost');
                return false;
        }
 
@@ -270,7 +282,7 @@ end_row();
 start_row();
 
 if ($_SESSION['Items']->trans_no == 0) {
-       ref_cells(_("Reference"), 'ref', $_SESSION['Items']->reference, "class='tableheader2'");
+       ref_cells(_("Reference"), 'ref', '', $_SESSION['Items']->reference, "class='tableheader2'");
 } else {
        label_cells(_("Reference"), $_SESSION['Items']->reference, "class='tableheader2'");
 }
@@ -296,13 +308,13 @@ if (!isset($_POST['InvoiceDate']) || !is_date($_POST['InvoiceDate'])) {
        }
 }
 
-date_cells(_("Date"), 'InvoiceDate', $_POST['InvoiceDate'], 0, 0, 0, "class='tableheader2'");
+date_cells(_("Date"), 'InvoiceDate', '', $_POST['InvoiceDate'], 0, 0, 0, "class='tableheader2'");
 
 if (!isset($_POST['due_date']) || !is_date($_POST['due_date'])) {
        $_POST['due_date'] = get_invoice_duedate($_SESSION['Items']->customer_id, $_POST['InvoiceDate']);
 }
 
-date_cells(_("Due Date"), 'due_date', $_POST['due_date'], 0, 0, 0, "class='tableheader2'");
+date_cells(_("Due Date"), 'due_date', '', $_POST['due_date'], 0, 0, 0, "class='tableheader2'");
 
 end_row();
 end_table();
@@ -347,7 +359,7 @@ foreach ($_SESSION['Items']->line_items as $line=>$ln_itm) {
                hidden('Line' . $line, $ln_itm->qty_dispatched );
                echo qty_format($ln_itm->qty_dispatched).'</td>';
        } else {
-               small_amount_cells(null, 'Line'.$line, qty_format($ln_itm->qty_dispatched));
+               small_qty_cells(null, 'Line'.$line, qty_format($ln_itm->qty_dispatched));
        }
        $display_discount_percent = percent_format($ln_itm->discount_percent*100) . " %";