From 50c800e82b6cca17cd88717cf0bc0a187dc4e171 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Thu, 13 Nov 2008 20:25:41 +0000 Subject: [PATCH] Rewritten for paged query results. --- dimensions/inquiry/search_dimensions.php | 137 +++++++++++------------ 1 file changed, 68 insertions(+), 69 deletions(-) diff --git a/dimensions/inquiry/search_dimensions.php b/dimensions/inquiry/search_dimensions.php index 6f689ec9..9d8f64a0 100644 --- a/dimensions/inquiry/search_dimensions.php +++ b/dimensions/inquiry/search_dimensions.php @@ -3,6 +3,7 @@ $page_security = 2; $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"); @@ -43,7 +44,6 @@ if (get_post('SearchOrders')) // $Ajax->addFocus(true, 'OrderNumber'); set_focus('OrderNumber'); } else -// $Ajax->addFocus(true, 'StockLocation'); set_focus('type_'); $Ajax->activate('dim_table'); @@ -85,7 +85,48 @@ end_form(); $dim = get_company_pref('use_dimension'); -$sql = "SELECT * FROM ".TB_PREF."dimensions WHERE id > 0"; +function view_link($row) +{ + return get_dimensions_trans_view_str(systypes::dimension(), $row["id"]); +} + +function is_closed($row) +{ + return $row['closed'] ? _('Yes') : _('No'); +} + +function sum_dimension($row) +{ + $sql = "SELECT SUM(amount) FROM ".TB_PREF."gl_trans WHERE tran_date >= '" . + date2sql($_POST['FromDate']) . "' AND + tran_date <= '" . date2sql($_POST['ToDate']) . "' AND (dimension_id = " . + $row['id']." OR dimension2_id = " .$row['id'].")"; + $res = db_query($sql, "Sum of transactions could not be calculated"); + $row = db_fetch_row($res); + + return $row[0]; +} + +function is_overdue($row) +{ + return date_diff(Today(), sql2date($row["due_date"]), "d") > 0; +} + +function edit_link($row) +{ + return $row["closed"] ? '' : + pager_link(_("Edit"), + "/dimensions/dimension_entry.php?trans_no=" . $row["id"]); +} + +$sql = "SELECT dim.id, + dim.reference, + dim.name, + dim.type_, + dim.date_, + dim.due_date, + dim.closed + FROM ".TB_PREF."dimensions as dim WHERE id > 0"; if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "") { @@ -115,80 +156,38 @@ if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "") $sql .= " AND date_ >= '" . date2sql($_POST['FromDate']) . "' AND date_ <= '" . date2sql($_POST['ToDate']) . "'"; } -$sql .= " ORDER BY due_date"; -$result = db_query($sql,"could not query dimensions"); +$cols = array( + _("#") => array('fun'=>'view_link'), + _("Reference"), + _("Name"), + _("Type"), + _("Date") =>'date', + _("Due Date") => array('date', 'ord'=>'asc'), + _("Closed") => array('fun'=>'is_closed'), + _("Balance") => array('type'=>'amount', 'insert'=>true, 'fun'=>'sum_dimension'), + array('insert'=>true, 'fun'=>'edit_link') +); + +if ($outstanding_only) { + $cols[_("Closed")] = 'skip'; +} -div_start('dim_table'); -start_table("$table_style width=80%"); +$table =& new_db_pager('dim_tbl', $sql, $cols); +$table->set_marker('is_overdue', _("Marked dimensions are overdue.")); -if (!$outstanding_only) - $th = array(_("#"), _("Reference"), _("Name"), _("Type"), _("Date"), - _("Due Date"), _("Closed"), _("Balance")); -else - $th = array(_("#"), _("Reference"), _("Name"), _("Type"), _("Date"), - _("Due Date"), _("Balance")); -table_header($th); -$j = 1; -$k = 0; -while ($myrow = db_fetch($result)) +if (get_post('SearchOrders')) { - $sql = "SELECT SUM(amount) FROM ".TB_PREF."gl_trans WHERE tran_date >= '" . - date2sql($_POST['FromDate']) . "' AND - tran_date <= '" . date2sql($_POST['ToDate']) . "' AND (dimension_id = " . - $myrow['id']." OR dimension2_id = " .$myrow['id'].")"; - $res = db_query($sql, "Transactions could not be calculated"); - $row = db_fetch_row($res); - - if ($k == 1) - { - $row_text = "class='oddrow'"; - $k = 0; - } - else - { - $row_text = "class='evenrow'"; - $k++; - } - - // check if it's an overdue work order - if (date_diff(Today(), sql2date($myrow["due_date"]), "d") > 0) - { - $row_text = "class='overduebg'"; - } - - start_row($row_text); + $table->set_sql($sql); + $table->set_columns($cols); + $Ajax->activate('dim_tbl'); +} +start_form(); - $mpage = $path_to_root . "/dimensions/dimension_entry.php?" . SID . "trans_no=" . $myrow["id"]; - - label_cell(get_dimensions_trans_view_str(systypes::dimension(), $myrow["id"])); - label_cell(get_dimensions_trans_view_str(systypes::dimension(), $myrow["id"], $myrow["reference"])); - label_cell($myrow["name"]); - label_cell($myrow["type_"]); - label_cell(sql2date($myrow["date_"])); - label_cell(sql2date($myrow["due_date"])); - if (!$outstanding_only) - label_cell(($myrow["closed"] ? _("Yes") : _("No"))); - amount_cell($row[0]); - - label_cell($myrow["closed"] == 0 ? ("" . _("Edit") . "") :''); - end_row(); - - $j++; - If ($j == 12) - { - $j = 1; - table_header($th); - } - //end of page full new headings if -} -//end of while loop - -end_table(1); -div_end(); -//--------------------------------------------------------------------------------- +display_db_pager($table); +end_form(); end_page(); ?> -- 2.30.2