Eliminated non-static method calls and other bulk fixes to fix php5 warnings
[fa-stable.git] / admin / view_print_transaction.php
index 1fcb30803edc207ecc7ba1a07289189f69105df9..aca82ee8df6fe60ed8d731f4198fcff865384412 100644 (file)
@@ -1,8 +1,18 @@
 <?php
-
-$path_to_root="..";
-$page_security = 5;
-
+/**********************************************************************
+    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_VIEWPRINTTRANSACTION';
+$path_to_root = "..";
+
+include($path_to_root . "/includes/db_pager.inc");
 include_once($path_to_root . "/includes/session.inc");
 
 include_once($path_to_root . "/includes/date_functions.inc");
@@ -16,26 +26,45 @@ if ($use_popup_windows)
 page(_("View or Print Transactions"), false, false, "", $js);
 
 //----------------------------------------------------------------------------------------
+function view_link($trans)
+{
+       return get_trans_view_str($trans["type"], $trans["trans_no"]);
+}
+
+function prt_link($row)
+{
+       if ($row['type'] != 12 && $row['type'] != 2) // customer payment or bank deposit printout not defined yet.
+               return print_document_link($row['trans_no'], _("Print"), true, $row['type'], ICON_PRINT);
+}
+
+function gl_view($row)
+{
+       return get_gl_view_str($row["type"], $row["trans_no"]);
+}
 
 function viewing_controls()
 {
-    start_form(false, true);
+       display_note(_("Only documents can be printed."));
 
     start_table("class='tablestyle_noborder'");
        start_row();
 
        systypes_list_cells(_("Type:"), 'filterType', null, true);
 
+       if (!isset($_POST['FromTransNo']))
+               $_POST['FromTransNo'] = "1";
+       if (!isset($_POST['ToTransNo']))
+               $_POST['ToTransNo'] = "999999";
+
     ref_cells(_("from #:"), 'FromTransNo');
 
     ref_cells(_("to #:"), 'ToTransNo');
 
-    submit_cells('ProcessSearch', _("Search"));
+    submit_cells('ProcessSearch', _("Search"), '', '', 'default');
 
        end_row();
     end_table(1);
 
-       end_form();
 }
 
 //----------------------------------------------------------------------------------------
@@ -44,13 +73,13 @@ function check_valid_entries()
 {
        if (!is_numeric($_POST['FromTransNo']) OR $_POST['FromTransNo'] <= 0)
        {
-               display_note(_("The starting transaction number is expected to be numeric and greater than zero."));
+               display_error(_("The starting transaction number is expected to be numeric and greater than zero."));
                return false;
        }
 
        if (!is_numeric($_POST['ToTransNo']) OR $_POST['ToTransNo'] <= 0)
        {
-               echo _("The ending transaction number is expected to be numeric and greater than zero.");
+               display_error(_("The ending transaction number is expected to be numeric and greater than zero."));
                return false;
        }
 
@@ -66,75 +95,56 @@ function handle_search()
        {
                $db_info = get_systype_db_info($_POST['filterType']);
 
+               if ($db_info == null)
+                       return;
+
                $table_name = $db_info[0];
                $type_name = $db_info[1];
                $trans_no_name = $db_info[2];
                $trans_ref = $db_info[3];
 
-               $sql = "SELECT DISTINCT $trans_no_name ";
+               $sql = "SELECT DISTINCT $trans_no_name as trans_no";
 
                if ($trans_ref)
                        $sql .= " ,$trans_ref ";
 
-               $sql .= " FROM $table_name
+               $sql .= ", ".$_POST['filterType']." as type FROM $table_name
                        WHERE $trans_no_name >= " . $_POST['FromTransNo']. "
                        AND  $trans_no_name <= " . $_POST['ToTransNo'];
 
                if ($type_name != null)
-                       $sql .= " AND $type_name = " . $_POST['filterType'];
+                       $sql .= " AND `$type_name` = " . $_POST['filterType'];
 
                $sql .= " ORDER BY $trans_no_name";
 
-               $result = db_query($sql, "could not query transactions on $table_name");
-
-               if (db_num_rows($result) == 0) 
-               {
-                       echo _("There are no transactions for the given parameters.");
-                       return;
-               }
 
-               start_table($table_style);
-               if ($trans_ref)
-                       $th = array(_("#"), _("Reference"), _("View"), _("Print"));
-               else    
-                       $th = array(_("#"), _("View"), _("Print"));
-               table_header($th);      
-               $k = 0;
-               while ($line = db_fetch($result)) 
-               {
-
-                       alt_table_row_color($k);
-
-                       label_cell($line[$trans_no_name]);
-                       if ($trans_ref)
-                               label_cell($line[$trans_ref]);
-                       label_cell(get_trans_view_str($_POST['filterType'],$line[$trans_no_name], _("View")));
-               label_cell(get_gl_view_str_cell($_POST['filterType'], $line[$trans_no_name], _("View GL")));
-
-               $forms = get_form_entries($_POST['filterType'], $line[$trans_no_name]);
-               while ($form_item = db_fetch($forms)) 
-               {
-
-                       $param1 = $form_item['param1'];
-                       $param2 = $form_item['param2'];
-
-                       if ($_POST['filterType'] == systypes::bank_payment()
-                               || $_POST['filterType'] == systypes::bank_deposit()
-                               || $_POST['filterType'] == systypes::cust_payment()
-                               || $_POST['filterType'] == systypes::supp_payment()) 
-                       {
-                               $param1 = payment_person_types::type_name($form_item['param1']);
-                               $param2 = payment_person_types::person_name($form_item['param1'], $form_item['param2'], false);
-                       }
-
-                       //label_cell(printTransaction(_("Print") . " " . getFormTypeName($form_item["form_type"]), $form_item['form_id'], $form_item['form_type'], $_POST['filterType'], $line[$trans_no_name], $line[$trans_ref], $param1, $param2));
-               }
-               end_row();
+               $print_type = $_POST['filterType'];
+               $print_out = ($print_type == 10 || $print_type == 11 || $print_type == ST_CUSTDELIVERY ||
+                       $print_type == ST_PURCHORDER || $print_type == ST_SALESORDER || $print_type == ST_SALESQUOTE);
 
+               $cols = array(
+                       _("#"), 
+                       _("Reference"), 
+                       _("View") => array('insert'=>true, 'fun'=>'view_link'),
+                       _("Print") => array('insert'=>true, 'fun'=>'prt_link'), 
+                       _("GL") => array('insert'=>true, 'fun'=>'gl_view')
+               );
+               if(!$print_out) {
+                       array_remove($cols, 3);
+               }
+               if(!$trans_ref) {
+                       array_remove($cols, 1);
                }
 
-               end_table();
+               $table =& new_db_pager('transactions', $sql, $cols);
+               if (list_updated('filterType') || get_post('ProcessSearch')) {
+                       $table->set_sql($sql);
+                       $table->set_columns($cols);
+               }
+               $table->width = "40%";
+               display_db_pager($table);
        }
+
 }
 
 //----------------------------------------------------------------------------------------
@@ -143,17 +153,15 @@ if (isset($_POST['ProcessSearch']))
 {
        if (!check_valid_entries())
                unset($_POST['ProcessSearch']);
+       $Ajax->activate('transactions');
 }
 
 //----------------------------------------------------------------------------------------
 
-viewing_controls();
-
-//echo getHiddenFieldScript();
-
-handle_search();
-
-br(2);
+start_form(false);
+       viewing_controls();
+       handle_search();
+end_form(2);
 
 end_page();