Fixed many minor bugs, new ones as well as debtor_trans related.
[fa-stable.git] / sales / allocations / customer_allocate.php
index 46daa72dde799c47617f19c419c9c139fb357e48..74c0573ebbc9356f78e80354d4c695a4faa06fa6 100644 (file)
@@ -5,6 +5,7 @@ $page_security = 3;
 
 include($path_to_root . "/includes/ui/allocation_cart.inc");
 include_once($path_to_root . "/includes/session.inc");
+include_once($path_to_root . "/includes/data_checks.inc");
 include_once($path_to_root . "/sales/includes/sales_ui.inc");
 include_once($path_to_root . "/sales/includes/sales_db.inc");
 
@@ -12,7 +13,7 @@ $js = "";
 if ($use_popup_windows)
        $js .= get_js_open_window(900, 500);
 
-$js .= get_js_allocate();
+add_js_file('allocate.js');
 
 page(_("Allocate Customer Payment or Credit Note"), false, false, "", $js);
 
@@ -37,28 +38,30 @@ function check_data()
        for ($counter = 0; $counter < $_POST["TotalNumberOfAllocs"]; $counter++)
        {
 
-               if (!is_numeric($_POST['amount' . $counter]))
+               if (!check_num('amount' . $counter))
                {
                        display_error(_("The entry for one or more amounts is invalid."));
+                       set_focus('amount'.$counter);
                        return false;
                }
 
-               if ($_POST['amount' . $counter] < 0)
+               if (!check_num('amount' . $counter,0))
                {
                        display_error(_("The entry for an amount to allocate was negative. A positive allocation amount is expected."));
+               set_focus('amount'.$counter);
                        return false;
                }
 
                  /*Now check to see that the AllocAmt is no greater than the
                amount left to be allocated against the transaction under review */
-               if ($_POST['amount' . $counter] > $_POST['un_allocated' . $counter])
+               if (input_num('amount' . $counter) > $_POST['un_allocated' . $counter])
                {
                    //$_POST['amount' . $counter] = $_POST['un_allocated' . $counter];
                }
 
-               $_SESSION['alloc']->allocs[$counter]->current_allocated = $_POST['amount' . $counter];
+               $_SESSION['alloc']->allocs[$counter]->current_allocated = input_num('amount' . $counter);
 
-               $total_allocated += $_POST['amount' . $counter];
+               $total_allocated += input_num('amount' . $counter);
        }
 
        if ($total_allocated - $_SESSION['alloc']->amount > sys_prefs::allocation_settled_allowance())
@@ -94,6 +97,7 @@ function handle_process()
                        update_debtor_trans_allocation($allocn_item->type, $allocn_item->type_no,
                                $allocn_item->current_allocated);
                        $total_allocated += $allocn_item->current_allocated;
+
                }
 
        }  /*end of the loop through the array of allocations made */
@@ -172,17 +176,17 @@ function edit_allocations_for_transaction($type, $trans_no)
 {
        global $table_style;
 
-       start_form(false, true);
-
     display_heading(sprintf(_("Allocation of %s # %d"), systypes::name($_SESSION['alloc']->type),$_SESSION['alloc']->trans_no));
 
     display_heading($_SESSION['alloc']->person_name);
 
     display_heading2(_("Date:") . " <b>" . $_SESSION['alloc']->date_ . "</b>");
-    display_heading2(_("Total:") . " <b>" . number_format2($_SESSION['alloc']->amount,user_price_dec()) . "</b>");
+    display_heading2(_("Total:") . " <b>" . price_format($_SESSION['alloc']->amount) . "</b>");
 
     echo "<br>";
 
+       start_form(false, true);
+
     if (count($_SESSION['alloc']->allocs) > 0)
     {
                start_table($table_style);
@@ -205,26 +209,28 @@ function edit_allocations_for_transaction($type, $trans_no)
                amount_cell($allocn_item->amount);
                        amount_cell($allocn_item->amount_allocated);
 
-           if (!isset($_POST['amount' . $counter]) || $_POST['amount' . $counter] == "")
-               $_POST['amount' . $counter] = $allocn_item->current_allocated;
-           text_cells(null, "amount" . $counter, $_POST['amount' . $counter], 13, 12);
+           if (!check_num('amount' . $counter))
+               $_POST['amount' . $counter] = price_format($allocn_item->current_allocated);
+           amount_cells(null, 'amount' . $counter, $_POST['amount' . $counter]);
 
                $un_allocated = round($allocn_item->amount - $allocn_item->amount_allocated, 6);
-               hidden("un_allocated" . $counter, $un_allocated);
+               //hidden("un_allocated" . $counter, $un_allocated);
                amount_cell($un_allocated);
 
-                       label_cell("<a href='#' name=Alloc$counter onclick='allocate_all(this.name.substr(5));return true;'>"
+                       label_cell("<a href='#' name='Alloc$counter' onclick='allocate_all(this.name.substr(5));return true;'>"
                                         . _("All") . "</a>");
-                       label_cell("<a href='#' name=DeAll$counter onclick='allocate_none(this.name.substr(5));return true;'>"
-                                        . _("None") . "</a>");
+                       //label_cell("<a href='#' name='DeAll$counter' onclick='allocate_none(this.name.substr(5));return true;'>"
+                       //               . _("None") . "</a>");
+                       label_cell("<a href='#' name='DeAll$counter' onclick='allocate_none(this.name.substr(5));return true;'>"
+                                        . _("None") . "</a>".hidden("un_allocated" . $counter, $un_allocated, false));
                        end_row();
 
-           $total_allocated += $_POST['amount' . $counter];
+           $total_allocated += input_num('amount' . $counter);
            $counter++;
                }
 
-               label_row(_("Total Allocated"), number_format2($total_allocated,user_price_dec()),
-                       "colspan=6 align=right", "nowrap align=right");
+               label_row(_("Total Allocated"), price_format($total_allocated),
+                       "colspan=6 align=right", "nowrap align=right id='total_allocated'");
         if ($_SESSION['alloc']->amount - $total_allocated < 0)
         {
                $font1 = "<font color=red>";
@@ -233,23 +239,23 @@ function edit_allocations_for_transaction($type, $trans_no)
         else
                $font1 = $font2 = "";
                $left_to_allocate = $_SESSION['alloc']->amount - $total_allocated;
-               $left_to_allocate = number_format2($left_to_allocate, user_price_dec());
+               $left_to_allocate = price_format($left_to_allocate);
         label_row(_("Left to Allocate"), $font1 . $left_to_allocate . $font2,
-               "colspan=6 align=right", "nowrap align=right");
+               "colspan=6 align=right ", "nowrap align=right id='left_to_allocate'");
         end_table(1);
 
                hidden('TotalNumberOfAllocs', $counter);
-               hidden('left_to_allocate', $left_to_allocate);
+//             hidden('left_to_allocate', $left_to_allocate);
                submit_center_first('UpdateDisplay', _("Update"));
                submit('Process', _("Process"));
+               submit_center_last('Cancel', _("Back to Allocations"));
        }
        else
        {
        display_note(_("There are no unsettled transactions to allocate."), 0, 1);
+               submit_center('Cancel', _("Back to Allocations"));
     }
 
-       submit_center_last('Cancel', _("Back to Allocations"));
-
        end_form();
 }