Changes up to 2.3.7 merged into unstable branch.
[fa-stable.git] / gl / includes / db / gl_db_bank_accounts.inc
index 4377ec29774a56c61a0099e19fbd14e555d8a06b..1669d20005656ccff82c445f0f24dd4881870ea7 100644 (file)
@@ -102,42 +102,22 @@ function get_bank_gl_account($id)
 
 //---------------------------------------------------------------------------------------------
 
-function bank_account_in_transactions($acc)
+function add_quick_entry($description, $type, $base_amount, $base_desc, $bal_type)
 {
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."bank_trans WHERE bank_act=$acc";
-       $result = db_query($sql,"check failed");
-       $myrow = db_fetch_row($result);
-       return ($myrow[0] > 0); 
-}
-
-//---------------------------------------------------------------------------------------------
-
-function bank_account_in_sales_pos($acc)
-{
-       $sql= "SELECT COUNT(*) FROM ".TB_PREF."sales_pos WHERE pos_account=$acc";
-       $result = db_query($sql,"check failed");
-       $myrow = db_fetch_row($result);
-       return ($myrow[0] > 0); 
-}
-
-//---------------------------------------------------------------------------------------------
-
-function add_quick_entry($description, $type, $base_amount, $base_desc)
-{
-       $sql = "INSERT INTO ".TB_PREF."quick_entries (description, type, base_amount, base_desc) 
+       $sql = "INSERT INTO ".TB_PREF."quick_entries (description, type, base_amount, base_desc, bal_type) 
        VALUES (".db_escape($description).", ".db_escape($type).", "
-               .db_escape($base_amount).", ".db_escape($base_desc).")";
+               .db_escape($base_amount).", ".db_escape($base_desc).", ".db_escape($bal_type).")";
 
        db_query($sql, "could not insert quick entry for $description");
 }
 
 //---------------------------------------------------------------------------------------------
 
-function update_quick_entry($selected_id, $description, $type, $base_amount, $base_desc)
+function update_quick_entry($selected_id, $description, $type, $base_amount, $base_desc, $bal_type)
 {
        $sql = "UPDATE ".TB_PREF."quick_entries SET description = ".db_escape($description).",
                type=".db_escape($type).", base_amount=".db_escape($base_amount)
-               .", base_desc=".db_escape($base_desc)."
+               .", base_desc=".db_escape($base_desc).", bal_type=".db_escape($bal_type)."
                WHERE id = ".db_escape($selected_id);
 
        db_query($sql, "could not update quick entry for $selected_id");
@@ -159,7 +139,7 @@ function add_quick_entry_line($qid, $action, $dest_id, $amount, $dim, $dim2)
        $sql = "INSERT INTO ".TB_PREF."quick_entry_lines 
                (qid, action, dest_id, amount, dimension_id, dimension2_id) 
        VALUES 
-               ($qid, ".db_escape($action).",".db_escape($dest_id).",
+               (".db_escape($qid).", ".db_escape($action).",".db_escape($dest_id).",
                        ".db_escape($amount).", ".db_escape($dim).", ".db_escape($dim2).")";
 
        db_query($sql, "could not insert quick entry line for $qid");
@@ -335,4 +315,37 @@ function get_default_bank_account($curr)
 
        return db_fetch($result);
 }
+
+function get_default_customer_bank_account($cust_id)
+{
+       $sql = "SELECT curr_code FROM ".TB_PREF."debtors_master WHERE debtor_no=".db_escape($cust_id);
+       $result = db_query($sql, "could not retreive default customer currency code");
+       $row = db_fetch_row($result);
+       $ba = get_default_bank_account($row[0]);
+       return $ba['id'];
+}
+
+function get_default_supplier_bank_account($supplier_id)
+{
+       $sql = "SELECT curr_code FROM ".TB_PREF."suppliers WHERE supplier_id=".db_escape($supplier_id);
+       $result = db_query($sql, "could not retreive default supplier currency code");
+       $row = db_fetch_row($result);
+       $ba = get_default_bank_account($row[0]);
+       return $ba['id'];
+}
+//---------------------------------------------------------------------------------------------
+//
+//     This function returns current allowed bank payment limit, or null if limit is not set.
+//     As of FA 2.3 check is done only on cash account, for which limit is bank amount as of the date selected.
+//
+function get_bank_account_limit($account, $date, $user=null)
+{
+//     $user = current_user();
+
+       $bankacc = get_bank_account($account);
+       if ($bankacc['account_type'] != BT_CASH)
+               return null;
+       return max(0, get_balance_before_for_bank_account($account, add_days($date,1))); // in case of manco made before the check was implemented
+}
+
 ?>
\ No newline at end of file