Rerun bug 4601: memo line not cleared after enter new payment item. @Braath Waate.
[fa-stable.git] / gl / inquiry / bank_inquiry.php
index f6ffdba757a156d37ee6bb207f94a5ac2e18ff54..e273099db7fa6dc721723df38cc0b9b2493050ad 100644 (file)
@@ -1,10 +1,20 @@
 <?php
-
-$page_security = 8;
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
+$page_security = 'SA_BANKTRANSVIEW';
 $path_to_root="../..";
 include_once($path_to_root . "/includes/session.inc");
 
 include_once($path_to_root . "/includes/date_functions.inc");
+include_once($path_to_root . "/includes/db_pager.inc");
 include_once($path_to_root . "/includes/ui.inc");
 include_once($path_to_root . "/includes/data_checks.inc");
 
@@ -12,11 +22,11 @@ include_once($path_to_root . "/gl/includes/gl_db.inc");
 include_once($path_to_root . "/includes/banking.inc");
 
 $js = "";
-if ($use_popup_windows)
+if ($SysPrefs->use_popup_windows)
        $js .= get_js_open_window(800, 500);
-if ($use_date_picker)
+if (user_use_date_picker())
        $js .= get_js_date_picker();
-page(_("Bank Statement"), false, false, "", $js);
+page(_($help_context = "Bank Account Inquiry"), isset($_GET['bank_account']) && !isset($_GET['TransAfterDate']), false, "", $js, false, "", true);
 
 check_db_has_bank_accounts(_("There are no bank accounts defined in the system."));
 
@@ -29,58 +39,54 @@ if (get_post('Show'))
 }
 //------------------------------------------------------------------------------------------------
 
+if (isset($_GET['bank_account']))
+       $_POST['bank_account'] = $_GET['bank_account'];
+
 start_form();
-start_table("class='tablestyle_noborder'");
+start_table(TABLESTYLE_NOBORDER);
 start_row();
 bank_accounts_list_cells(_("Account:"), 'bank_account', null);
 
-date_cells(_("From:"), 'TransAfterDate', '', null, -30);
+date_cells(_("From:"), 'TransAfterDate', '', null, -user_transaction_days());
 date_cells(_("To:"), 'TransToDate');
 
-submit_cells('Show',_("Show"),'','', true);
+submit_cells('Show',_("Show"),'','', 'default');
 end_row();
 end_table();
 end_form();
 
 //------------------------------------------------------------------------------------------------
 
-
-$date_after = date2sql($_POST['TransAfterDate']);
-$date_to = date2sql($_POST['TransToDate']);
 if (!isset($_POST['bank_account']))
        $_POST['bank_account'] = "";
-$sql = "SELECT ".TB_PREF."bank_trans.*,name AS BankTransType FROM ".TB_PREF."bank_trans, ".TB_PREF."bank_trans_types
-       WHERE ".TB_PREF."bank_trans.bank_act = '" . $_POST['bank_account'] . "'
-       AND trans_date >= '$date_after'
-       AND trans_date <= '$date_to'
-       AND ".TB_PREF."bank_trans_types.id = ".TB_PREF."bank_trans.bank_trans_type_id
-       ORDER BY trans_date,".TB_PREF."bank_trans.id";
 
-$result = db_query($sql,"The transactions for '" . $_POST['bank_account'] . "' could not be retrieved");
+$result = get_bank_trans_for_bank_account($_POST['bank_account'], $_POST['TransAfterDate'], $_POST['TransToDate']);    
 
 div_start('trans_tbl');
 $act = get_bank_account($_POST["bank_account"]);
 display_heading($act['bank_account_name']." - ".$act['bank_curr_code']);
 
-start_table($table_style);
+start_table(TABLESTYLE);
 
-$th = array(_("Type"), _("#"), _("Reference"), _("Type"), _("Date"),
-       _("Debit"), _("Credit"), _("Balance"), _("Person/Item"), "");
+$th = array(_("Type"), _("#"), _("Reference"), _("Date"),
+       _("Debit"), _("Credit"), _("Balance"), _("Person/Item"), _("Memo"), "", "");
 table_header($th);
 
-$sql = "SELECT SUM(amount) FROM ".TB_PREF."bank_trans WHERE bank_act='" . $_POST['bank_account'] . "'
-       AND trans_date < '$date_after'";
-$before_qty = db_query($sql, "The starting balance on hand could not be calculated");
+$bfw = get_balance_before_for_bank_account($_POST['bank_account'], $_POST['TransAfterDate']);
 
-start_row("class='inquirybg'");
-label_cell("<b>"._("Opening Balance")." - ".$_POST['TransAfterDate']."</b>", "colspan=5");
-$bfw_row = db_fetch_row($before_qty);
-$bfw = $bfw_row[0];
+$credit = $debit = 0;
+start_row("class='inquirybg' style='font-weight:bold'");
+label_cell(_("Opening Balance")." - ".$_POST['TransAfterDate'], "colspan=4");
 display_debit_or_credit_cells($bfw);
 label_cell("");
+label_cell("", "colspan=4");
 
 end_row();
 $running_total = $bfw;
+if ($bfw > 0 ) 
+       $debit += $bfw;
+else 
+       $credit += $bfw;
 $j = 1;
 $k = 0; //row colour counter
 while ($myrow = db_fetch($result))
@@ -91,16 +97,25 @@ while ($myrow = db_fetch($result))
        $running_total += $myrow["amount"];
 
        $trandate = sql2date($myrow["trans_date"]);
-       label_cell(systypes::name($myrow["type"]));
+       label_cell($systypes_array[$myrow["type"]]);
        label_cell(get_trans_view_str($myrow["type"],$myrow["trans_no"]));
        label_cell(get_trans_view_str($myrow["type"],$myrow["trans_no"],$myrow['ref']));
-       label_cell($myrow["BankTransType"]);
        label_cell($trandate);
        display_debit_or_credit_cells($myrow["amount"]);
        amount_cell($running_total);
-       label_cell(payment_person_types::person_name($myrow["person_type_id"],$myrow["person_id"]));
+
+       label_cell(payment_person_name($myrow["person_type_id"],$myrow["person_id"]));
+
+       label_cell(get_comments_string($myrow["type"], $myrow["trans_no"]));
        label_cell(get_gl_view_str($myrow["type"], $myrow["trans_no"]));
+
+       label_cell(trans_editor_link($myrow["type"], $myrow["trans_no"]));
+
        end_row();
+       if ($myrow["amount"] > 0 ) 
+               $debit += $myrow["amount"];
+       else 
+               $credit += $myrow["amount"];
 
        if ($j == 12)
        {
@@ -111,10 +126,13 @@ while ($myrow = db_fetch($result))
 }
 //end of while loop
 
-start_row("class='inquirybg'");
-label_cell("<b>" . _("Ending Balance")." - ". $_POST['TransToDate']. "</b>", "colspan=5");
-display_debit_or_credit_cells($running_total);
-label_cell("");
+start_row("class='inquirybg' style='font-weight:bold'");
+label_cell(_("Ending Balance")." - ". $_POST['TransToDate'], "colspan=4");
+amount_cell($debit);
+amount_cell(-$credit);
+//display_debit_or_credit_cells($running_total);
+amount_cell($debit+$credit);
+label_cell("", "colspan=4");
 end_row();
 end_table(2);
 div_end();
@@ -122,4 +140,3 @@ div_end();
 
 end_page();
 
-?>