Customer Payment, Supplier Payment: early discount support.
[fa-stable.git] / sales / allocations / customer_allocation_main.php
index 5059735f6a9d8019d9992d488468e1e5d94e3273..8d0c33a2a049769295221c9a3c922d5ec74a3067 100644 (file)
@@ -32,6 +32,7 @@ if (!isset($_POST['customer_id']))
 echo "<center>" . _("Select a customer: ") . "&nbsp;&nbsp;";
 echo customer_list('customer_id', $_POST['customer_id'], true, true);
 echo "<br>";
+
 check(_("Show Settled Items:"), 'ShowSettled', null, true);
 echo "</center><br><br>";
 
@@ -65,14 +66,21 @@ function trans_view($trans)
 
 function alloc_link($row)
 {
+       global $all_settled;
+
        return pager_link(_("Allocate"),
                "/sales/allocations/customer_allocate.php?trans_no="
                        .$row["trans_no"] . "&trans_type=" . $row["type"]. "&debtor_no=" . $row["debtor_no"], ICON_ALLOC);
 }
 
+function amount_total($row)
+{
+       return price_format($row['type'] == ST_JOURNAL && $row["Total"] < 0 ? -$row["Total"] : $row["Total"]);
+}
+
 function amount_left($row)
 {
-       return price_format($row["Total"]-$row["alloc"]);
+       return price_format(($row['type'] == ST_JOURNAL && $row["Total"] < 0 ? -$row["Total"] : $row["Total"])-$row["alloc"]);
 }
 
 function check_settled($row)
@@ -80,6 +88,12 @@ function check_settled($row)
        return $row['settled'] == 1;
 }
 
+$all_settled = !db_num_rows(get_allocatable_to_cust_transactions($customer_id));
+
+if ($all_settled)
+       display_note('<b>'.
+               ($customer_id ? _("There is no unsettled transactions for this customer.")
+                       :_("There is no unsettled transactions.")).'</b><p>');
 
 $sql = get_allocatable_from_cust_sql($customer_id, $settled);
 
@@ -90,7 +104,7 @@ $cols = array(
        _("Date") => array('name'=>'tran_date', 'type'=>'date', 'ord'=>'asc'),
        _("Customer") => array('ord'=>''),
        _("Currency") => array('align'=>'center'),
-       _("Total") => 'amount'
+       _("Total") => array('align'=>'right','fun'=>'amount_total')
        _("Left to Allocate") => array('align'=>'right','insert'=>true, 'fun'=>'amount_left'), 
        array('insert'=>true, 'fun'=>'alloc_link')
        );