Allow null references in trans to show up in gl_trans_view
[fa-stable.git] / gl / view / gl_trans_view.php
index 0aec1027b07948a3ee0953ba7e4ab3d93377c1f1..32276c3a79f3f03ce2c6effcb31480084ab573c9 100644 (file)
@@ -1,10 +1,19 @@
 <?php
-
-$page_security = 8;
-$path_to_root="../..";
+/**********************************************************************
+    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_GLTRANSVIEW';
+$path_to_root = "../..";
 include_once($path_to_root . "/includes/session.inc");
 
-page(_("General Ledger Transaction Details"), true);
+page(_($help_context = "General Ledger Transaction Details"), true);
 
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/ui.inc");
@@ -20,16 +29,17 @@ if (!isset($_GET['type_id']) || !isset($_GET['trans_no']))
 
 function display_gl_heading($myrow)
 {
-       global $table_style;
-       $trans_name = systypes::name($_GET['type_id']);
+       global $table_style, $systypes_array;
+       $trans_name = $systypes_array[$_GET['type_id']];
     start_table("$table_style width=95%");
-    $th = array(_("General Ledger Transaction Details"),
+    $th = array(_("General Ledger Transaction Details"), _("Reference"),
        _("Date"), _("Person/Item"));
     table_header($th); 
     start_row();       
     label_cell("$trans_name #" . $_GET['trans_no']);
+    label_cell($myrow["reference"]);
        label_cell(sql2date($myrow["tran_date"]));
-       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"]));
        
        end_row();
 
@@ -37,14 +47,19 @@ function display_gl_heading($myrow)
 
     end_table(1);
 }
-
-$sql = "SELECT ".TB_PREF."gl_trans.*, account_name FROM ".TB_PREF."gl_trans, ".TB_PREF."chart_master WHERE ".TB_PREF."gl_trans.account = ".TB_PREF."chart_master.account_code AND type= " . $_GET['type_id'] . " AND type_no = " . $_GET['trans_no'] . " ORDER BY counter";
+$sql = "SELECT gl.*, cm.account_name, IF(ISNULL(refs.reference), '', refs.reference) AS reference FROM "
+       .TB_PREF."gl_trans as gl
+       LEFT JOIN ".TB_PREF."chart_master as cm ON gl.account = cm.account_code
+       LEFT JOIN ".TB_PREF."refs as refs ON (gl.type=refs.type AND gl.type_no=refs.id)"
+       ." WHERE gl.type= ".db_escape($_GET['type_id']) 
+       ." AND gl.type_no = ".db_escape($_GET['trans_no'])
+       ." ORDER BY counter";
 $result = db_query($sql,"could not get transactions");
 //alert("sql = ".$sql);
 
 if (db_num_rows($result) == 0)
 {
-    echo "<p><center>" . _("No general ledger transactions have been created for") . " " .systypes::name($_GET['type_id'])." " . _("number") . " " . $_GET['trans_no'] . "</center></p><br><br>";
+    echo "<p><center>" . _("No general ledger transactions have been created for") . " " .$systypes_array[$_GET['type_id']]." " . _("number") . " " . $_GET['trans_no'] . "</center></p><br><br>";
        end_page(true);
        exit;
 }
@@ -66,6 +81,7 @@ $heading_shown = false;
 
 while ($myrow = db_fetch($result)) 
 {
+       if ($myrow['amount'] == 0) continue;
        if (!$heading_shown)
        {
                display_gl_heading($myrow);