Bug 4817: g/l account inquiry can timeout due to slow sql. @Braath Waate.
[fa-stable.git] / gl / inquiry / gl_account_inquiry.php
index 6c66b08d6f1ce3e972693cbc85d08847149c2471..bc755e14d5d871dc5695dcfae18768825372e64a 100644 (file)
@@ -13,7 +13,9 @@ $page_security = 'SA_GLTRANSVIEW';
 $path_to_root = "../..";
 include_once($path_to_root . "/includes/session.inc");
 
+include($path_to_root . "/includes/db_pager.inc");
 
+include_once($path_to_root . "/admin/db/fiscalyears_db.inc");
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/ui.inc");
 include_once($path_to_root . "/includes/data_checks.inc");
@@ -22,9 +24,9 @@ include_once($path_to_root . "/gl/includes/gl_db.inc");
 
 $js = '';
 set_focus('account');
-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(_($help_context = "General Ledger Inquiry"), false, false, '', $js);
@@ -66,19 +68,20 @@ function gl_inquiry_controls()
 
     start_table(TABLESTYLE_NOBORDER);
        start_row();
-    gl_all_accounts_list_cells(_("Account:"), 'account', null, false, false, "All Accounts");
-       date_cells(_("from:"), 'TransFromDate', '', null, -30);
+    gl_all_accounts_list_cells(_("Account:"), 'account', null, false, false, _("All Accounts"));
+       date_cells(_("from:"), 'TransFromDate', '', null, -user_transaction_days());
        date_cells(_("to:"), 'TransToDate');
     end_row();
        end_table();
 
-       start_table();
+       start_table(TABLESTYLE_NOBORDER);
        start_row();
        if ($dim >= 1)
                dimensions_list_cells(_("Dimension")." 1:", 'Dimension', null, true, " ", false, 1);
        if ($dim > 1)
                dimensions_list_cells(_("Dimension")." 2:", 'Dimension2', null, true, " ", false, 2);
 
+       ref_cells(_("Memo:"), 'Memo', '',null, _('Enter memo fragment or leave empty'));
        small_amount_cells(_("Amount min:"), 'amount_min', null, " ");
        small_amount_cells(_("Amount max:"), 'amount_max', null, " ");
        submit_cells('Show',_("Show"),'','', 'default');
@@ -108,9 +111,9 @@ function show_results()
        $_POST['Dimension2'] = 0;
        $result = get_gl_transactions($_POST['TransFromDate'], $_POST['TransToDate'], -1,
        $_POST["account"], $_POST['Dimension'], $_POST['Dimension2'], null,
-       input_num('amount_min'), input_num('amount_max'));
+       input_num('amount_min'), input_num('amount_max'), null, null, $_POST['Memo']);
 
-       $colspan = ($dim == 2 ? "6" : ($dim == 1 ? "5" : "4"));
+       $colspan = ($dim == 2 ? "7" : ($dim == 1 ? "6" : "5"));
 
        if ($_POST["account"] != null)
                display_heading($_POST["account"]. "   ".$act_name);
@@ -122,7 +125,7 @@ function show_results()
                
        start_table(TABLESTYLE);
        
-       $first_cols = array(_("Type"), _("#"), _("Date"));
+       $first_cols = array(_("Type"), _("#"), _("Reference"), _("Date"));
        
        if ($_POST["account"] == null)
            $account_col = array(_("Account"));
@@ -131,15 +134,15 @@ function show_results()
        
        if ($dim == 2)
                $dim_cols = array(_("Dimension")." 1", _("Dimension")." 2");
-       else if ($dim == 1)
+       elseif ($dim == 1)
                $dim_cols = array(_("Dimension"));
        else
                $dim_cols = array();
        
        if ($show_balances)
-           $remaining_cols = array(_("Person/Item"), _("Debit"), _("Credit"), _("Balance"), _("Memo"));
+           $remaining_cols = array(_("Person/Item"), _("Debit"), _("Credit"), _("Balance"), _("Memo"), "");
        else
-           $remaining_cols = array(_("Person/Item"), _("Debit"), _("Credit"), _("Memo"));
+           $remaining_cols = array(_("Person/Item"), _("Debit"), _("Credit"), _("Memo"), "");
            
        $th = array_merge($first_cols, $account_col, $dim_cols, $remaining_cols);
                        
@@ -148,7 +151,7 @@ function show_results()
                $begin = "";
        else
        {
-               $begin = begin_fiscalyear();
+               $begin = get_fiscalyear_begin_for_date($_POST['TransFromDate']);
                if (date1_greater_date2($begin, $_POST['TransFromDate']))
                        $begin = $_POST['TransFromDate'];
                $begin = add_days($begin, -1);
@@ -180,6 +183,7 @@ function show_results()
 
        label_cell($systypes_array[$myrow["type"]]);
                label_cell(get_gl_view_str($myrow["type"], $myrow["type_no"], $myrow["type_no"], true));
+               label_cell(get_trans_view_str($myrow["type"],$myrow["type_no"],$myrow['reference']));
        label_cell($trandate);
        
        if ($_POST["account"] == null)
@@ -193,7 +197,13 @@ function show_results()
                display_debit_or_credit_cells($myrow["amount"]);
                if ($show_balances)
                    amount_cell($running_total);
+               if ($myrow['memo_'] == "")
+                       $myrow['memo_'] = get_comments_string($myrow['type'], $myrow['type_no']);
        label_cell($myrow['memo_']);
+        if ($myrow["type"] == ST_JOURNAL)
+            echo "<td>" . trans_editor_link( $myrow["type"], $myrow["type_no"]) . "</td>";
+        else
+            label_cell("");
        end_row();
 
        $j++;
@@ -235,4 +245,3 @@ div_end();
 
 end_page();
 
-?>