Bug 5187: Displaying the list of suppliers in the void part is either wrong or buggy...
[fa-stable.git] / admin / view_print_transaction.php
index 93ae00cd3ec97136e570cdbcb921c25f1ae58789..856fe05c9d81b4aa0abe2a88b9a87f176f4352a4 100644 (file)
@@ -18,38 +18,58 @@ include_once($path_to_root . "/includes/session.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");
+include_once($path_to_root . "/admin/db/transactions_db.inc");
 
 include_once($path_to_root . "/reporting/includes/reporting.inc");
 $js = "";
-if ($use_popup_windows)
+if ($SysPrefs->use_popup_windows)
        $js .= get_js_open_window(800, 500);
-page(_("View or Print Transactions"), false, false, "", $js);
+page(_($help_context = "View or Print Transactions"), false, false, "", $js);
 
 //----------------------------------------------------------------------------------------
 function view_link($trans)
 {
+       if (!isset($trans['type']))
+               $trans['type'] = $_POST['filterType'];
        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.
+       if (!isset($row['type']))
+               $row['type'] = $_POST['filterType'];
+       if ($row['type'] == ST_PURCHORDER || $row['type'] == ST_SALESORDER || $row['type'] == ST_SALESQUOTE || 
+               $row['type'] == ST_WORKORDER)
                return print_document_link($row['trans_no'], _("Print"), true, $row['type'], ICON_PRINT);
+       else    
+               return print_document_link($row['trans_no']."-".$row['type'], _("Print"), true, $row['type'], ICON_PRINT);
 }
 
 function gl_view($row)
 {
+       if (!isset($row['type']))
+               $row['type'] = $_POST['filterType'];
        return get_gl_view_str($row["type"], $row["trans_no"]);
 }
 
+function date_view($row)
+{
+       return $row['trans_date'];
+}
+
+function ref_view($row)
+{
+       return $row['ref'];
+}
+
 function viewing_controls()
 {
        display_note(_("Only documents can be printed."));
 
-    start_table("class='tablestyle_noborder'");
+    start_table(TABLESTYLE_NOBORDER);
        start_row();
 
-       systypes_list_cells(_("Type:"), 'filterType', null, true);
+       systypes_list_cells(_("Type:"), 'filterType', null, true, array(ST_CUSTOMER, ST_SUPPLIER));
 
        if (!isset($_POST['FromTransNo']))
                $_POST['FromTransNo'] = "1";
@@ -90,42 +110,22 @@ function check_valid_entries()
 
 function handle_search()
 {
-       global $table_style;
        if (check_valid_entries()==true)
        {
-               $db_info = get_systype_db_info($_POST['filterType']);
-
-               if ($db_info == null)
+               $trans_ref = false;
+               $sql = get_sql_for_view_transactions(get_post('filterType'), get_post('FromTransNo'), get_post('ToTransNo'), $trans_ref);
+               if ($sql == "")
                        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 as trans_no";
-
-               if ($trans_ref)
-                       $sql .= " ,$trans_ref ";
-
-               $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 .= " ORDER BY $trans_no_name";
-
-
-               $print_type = $_POST['filterType'];
-               $print_out = ($print_type == 10 || $print_type == 11 || $print_type == systypes::cust_dispatch() ||
-                       $print_type == systypes::po() || $print_type == systypes::sales_order() || $print_type == systypes::sales_quotation());
+               $print_type = get_post('filterType');
+               $print_out = ($print_type == ST_SALESINVOICE || $print_type == ST_CUSTCREDIT || $print_type == ST_CUSTDELIVERY ||
+                       $print_type == ST_PURCHORDER || $print_type == ST_SALESORDER || $print_type == ST_SALESQUOTE ||
+                       $print_type == ST_CUSTPAYMENT || $print_type == ST_SUPPAYMENT || $print_type == ST_WORKORDER);
 
                $cols = array(
-                       _("#"), 
-                       _("Reference"), 
-                       _("View") => array('insert'=>true, 'fun'=>'view_link'),
+                       _("#") => array('insert'=>true, 'fun'=>'view_link')
+                       _("Reference") => array('fun'=>'ref_view')
+                       _("Date") => array('type'=>'date', 'fun'=>'date_view'),
                        _("Print") => array('insert'=>true, 'fun'=>'prt_link'), 
                        _("GL") => array('insert'=>true, 'fun'=>'gl_view')
                );
@@ -137,10 +137,6 @@ function handle_search()
                }
 
                $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);
        }
@@ -165,4 +161,3 @@ end_form(2);
 
 end_page();
 
-?>