Stable merged into unstable again (due to failure on binary file during previous...
[fa-stable.git] / sales / includes / db / cust_trans_db.inc
index 09b635fc9ea0f02e74ddc8bbfd6621b72d2aac9c..a07bdc4f692b18f17ca8909da84ca835002ee1ca 100644 (file)
@@ -72,8 +72,10 @@ function write_customer_trans($trans_type, $trans_no, $debtor_no, $BranchNo,
        if ($trans_type == ST_BANKPAYMENT)
                $Total = -$Total;
 
-       if ($new) {
-       $trans_no = get_next_trans_no($trans_type);
+    if ($new || !exists_customer_trans($trans_type, $trans_no))
+    {
+        if ($new)
+        $trans_no = get_next_trans_no($trans_type);
 
        $sql = "INSERT INTO ".TB_PREF."debtor_trans (
                trans_no, type,
@@ -124,7 +126,8 @@ function get_customer_trans($trans_id, $trans_type)
 
        if ($trans_type == ST_CUSTPAYMENT) {
                // it's a payment so also get the bank account
-               $sql .= ", ".TB_PREF."bank_accounts.bank_name, ".TB_PREF."bank_accounts.bank_account_name,
+               // Chaitanya : Added bank_act to support Customer Payment Edit
+               $sql .= ",bank_act,".TB_PREF."bank_accounts.bank_name, ".TB_PREF."bank_accounts.bank_account_name,
                        ".TB_PREF."bank_accounts.account_type AS BankTransType ";
        }
 
@@ -162,6 +165,7 @@ function get_customer_trans($trans_id, $trans_type)
                // it's a payment so also get the bank account
                $sql .= " AND ".TB_PREF."bank_trans.trans_no =".db_escape($trans_id)."
                        AND ".TB_PREF."bank_trans.type=$trans_type
+                       AND ".TB_PREF."bank_trans.amount != 0
                        AND ".TB_PREF."bank_accounts.id=".TB_PREF."bank_trans.bank_act ";
        }
        if ($trans_type == ST_SALESINVOICE || $trans_type == ST_CUSTCREDIT || $trans_type == ST_CUSTDELIVERY) {
@@ -204,6 +208,19 @@ function exists_customer_trans($type, $type_no)
 
 //----------------------------------------------------------------------------------------
 
+function get_customer_trans_from_ref($type, $ref)
+{
+       $sql = "SELECT trans_no FROM ".TB_PREF."debtor_trans WHERE type=".db_escape($type)."
+               AND reference=".db_escape($ref);
+
+       $result = db_query($sql, "Cannot retreive a debtor transaction");
+
+       $row = db_fetch_row($result);
+       return $row[0];
+}
+
+//----------------------------------------------------------------------------------------
+
 // retreives the related sales order for a given trans
 
 function get_customer_trans_order($type, $type_no)
@@ -317,7 +334,7 @@ function get_sql_for_customer_inquiry()
        {
                if ($_POST['filterType'] == '1')
                {
-                       $sql .= " AND (trans.type = ".ST_SALESINVOICE." OR trans.type = ".ST_BANKPAYMENT.") ";
+                       $sql .= " AND (trans.type = ".ST_SALESINVOICE.") ";
                }
                elseif ($_POST['filterType'] == '2')
                {
@@ -326,7 +343,7 @@ function get_sql_for_customer_inquiry()
                elseif ($_POST['filterType'] == '3')
                {
                        $sql .= " AND (trans.type = " . ST_CUSTPAYMENT 
-                                       ." OR trans.type = ".ST_BANKDEPOSIT.") ";
+                                       ." OR trans.type = ".ST_BANKDEPOSIT." OR trans.type = ".ST_BANKPAYMENT.") ";
                }
                elseif ($_POST['filterType'] == '4')
                {