Merging changes form main trunk 2.2.5-2.2.6
[fa-stable.git] / gl / inquiry / journal_inquiry.php
index a0ad749c69bb4067fe01692a643197f597905052..66b9aaf14df026ba3c45c52131daac28e109d57a 100644 (file)
@@ -10,7 +10,7 @@
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
 
-$page_security = 8;
+$page_security = 'SA_GLANALYTIC';
 $path_to_root="../..";
 
 include($path_to_root . "/includes/db_pager.inc");
@@ -24,7 +24,7 @@ if ($use_popup_windows)
 if ($use_date_picker)
        $js .= get_js_date_picker();
 
-page(_("Journal Inquiry"), false, false, "", $js);
+page(_($help_context = "Journal Inquiry"), false, false, "", $js);
 
 //-----------------------------------------------------------------------------------
 // Ajax updates
@@ -44,20 +44,29 @@ start_row();
 
 ref_cells(_("Reference:"), 'Ref', '',null, _('Enter reference fragment or leave empty'));
 
-journal_types_list_cells(_("Transaction Type:"), "filterType");
-date_cells(_("From:"), 'FromDate', '', null, 0, 0, -1);
+journal_types_list_cells(_("Type:"), "filterType");
+date_cells(_("From:"), 'FromDate', '', null, 0, -1, 0);
 date_cells(_("To:"), 'ToDate');
 
-submit_cells('Search', _("Search"), '', '', 'default');
+check_cells( _("Show closed:"), 'AlsoClosed', null);
 
+submit_cells('Search', _("Search"), '', '', 'default');
+end_row();
+start_row();
+ref_cells(_("Memo:"), 'Memo', '',null, _('Enter memo fragment or leave empty'));
 end_row();
 end_table();
 
-end_form();
+function journal_pos($row)
+{
+       return $row['gl_seq'] ? $row['gl_seq'] : '-';
+}
 
 function systype_name($dummy, $type)
 {
-       return systypes::name($type);
+       global $systypes_array;
+       
+       return $systypes_array[$type];
 }
 
 function view_link($row) 
@@ -70,24 +79,19 @@ function gl_link($row)
        return get_gl_view_str($row["type"], $row["type_no"]);
 }
 
-function is_closed($row)
-{
-       return $row['gl_seq'] ? _('Yes') : _('No');
-}
-
 $editors = array(
        0 => "/gl/gl_journal.php?ModifyGL=Yes&trans_no=%d&trans_type=%d",
 //     1=> Bank Payment,
 //     2=> Bank Deposit,
 //     4=> Funds Transfer,
-   10=> "/sales/customer_invoice.php?ModifyInvoice=%d",
+   ST_SALESINVOICE => "/sales/customer_invoice.php?ModifyInvoice=%d",
 //   11=>
 // free hand (debtors_trans.order_==0)
 //     "/sales/credit_note_entry.php?ModifyCredit=%d"
 // credit invoice
 //     "/sales/customer_credit_invoice.php?ModifyCredit=%d"
 //      12=> Customer Payment,
-   13=> "/sales/customer_delivery.php?ModifyDelivery=%d",
+   ST_CUSTDELIVERY => "/sales/customer_delivery.php?ModifyDelivery=%d",
 //   16=> Location Transfer,
 //   17=> Inventory Adjustment,
 //   20=> Supplier Invoice,
@@ -103,55 +107,34 @@ function edit_link($row)
 {
        global $editors;
 
-       return isset($editors[$row["type"]]) ? 
+       return isset($editors[$row["type"]]) && !is_closed_trans($row["type"], $row["type_no"]) 
                pager_link(_("Edit"), 
                        sprintf($editors[$row["type"]], $row["type_no"], $row["type"]),
                        ICON_EDIT) : '';
 }
 
-$sql = "SELECT gl.tran_date,
-                               gl.type,
-                               gl.type_no,
-                               refs.reference,
-                               SUM(IF(gl.amount>0, gl.amount,0)) as amount,"
-                               ."com.memo_"
-               ." FROM ". TB_PREF."gl_trans as gl"
-               ." LEFT JOIN ". TB_PREF."comments as com ON 
-                       (gl.type=com.type AND gl.type_no=com.id)"
-               ." LEFT JOIN ". TB_PREF."refs as refs ON 
-                       (gl.type=refs.type AND gl.type_no=refs.id)
-               WHERE gl.tran_date >= '" . date2sql($_POST['FromDate']) . "'
-       AND gl.tran_date <= '" . date2sql($_POST['ToDate']) . "'
-       AND gl.amount!=0";
-
-if (isset($_POST['Ref']) && $_POST['Ref'] != "") {
-       $sql .= " AND reference LIKE '%". $_POST['Ref'] . "%'";
-}
-if (get_post('filterType') != -1) {
-       $sql .= " AND gl.type=".get_post('filterType');
-}
-
-$sql .= " GROUP BY gl.type, gl.type_no";
+$sql = get_sql_for_journal_inquiry();
 
 $cols = array(
+       _("#") => array('fun'=>'journal_pos', 'align'=>'center'), 
        _("Date") =>array('name'=>'tran_date','type'=>'date','ord'=>'desc'),
        _("Type") => array('fun'=>'systype_name'), 
        _("Trans #") => array('fun'=>'view_link'), 
        _("Reference"), 
        _("Amount") => array('type'=>'amount'),
        _("Memo"),
+       _("User"),
        _("View") => array('insert'=>true, 'fun'=>'gl_link'),
        array('insert'=>true, 'fun'=>'edit_link')
 );
 
+if (!check_value('AlsoClosed')) {
+       $cols[_("#")] = 'skip';
+}
+
 $table =& new_db_pager('journal_tbl', $sql, $cols);
 
-if (get_post('Search')) {
-       $table->set_sql($sql);
-       $table->set_columns($cols);
-}
 $table->width = "80%";
-start_form();
 
 display_db_pager($table);