X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=dimensions%2Finquiry%2Fsearch_dimensions.php;h=752b5507ab2574ab164425d76aa1efd8583a5d90;hb=42e7c789b5c755130859f7e487d7c3057fadfcdf;hp=8b9d1b35c959d7bb1110cc404486d3ef2e975ff8;hpb=f01633e07de0f8d9c7cd9f1cc9aab4d14bd2577d;p=fa-stable.git diff --git a/dimensions/inquiry/search_dimensions.php b/dimensions/inquiry/search_dimensions.php index 8b9d1b35..752b5507 100644 --- a/dimensions/inquiry/search_dimensions.php +++ b/dimensions/inquiry/search_dimensions.php @@ -1,8 +1,18 @@ . +***********************************************************************/ +$page_security = 'SA_DIMTRANSVIEW'; $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"); @@ -23,6 +33,30 @@ else $outstanding_only = 0; page(_("Search Dimensions"), false, false, "", $js); } +//----------------------------------------------------------------------------------- +// Ajax updates +// +if (get_post('SearchOrders')) +{ + $Ajax->activate('dim_table'); +} elseif (get_post('_OrderNumber_changed')) +{ + $disable = get_post('OrderNumber') !== ''; + + $Ajax->addDisable(true, 'FromDate', $disable); + $Ajax->addDisable(true, 'ToDate', $disable); + $Ajax->addDisable(true, 'type_', $disable); + $Ajax->addDisable(true, 'OverdueOnly', $disable); + $Ajax->addDisable(true, 'OpenOnly', $disable); + + if ($disable) { +// $Ajax->addFocus(true, 'OrderNumber'); + set_focus('OrderNumber'); + } else + set_focus('type_'); + + $Ajax->activate('dim_table'); +} //-------------------------------------------------------------------------------------- @@ -31,15 +65,15 @@ if (isset($_GET["stock_id"])) //-------------------------------------------------------------------------------------- -start_form(false, true, $_SERVER['PHP_SELF'] ."?outstanding_only=" . $outstanding_only . SID); +start_form(false, false, $_SERVER['PHP_SELF'] ."?outstanding_only=$outstanding_only"); start_table("class='tablestyle_noborder'"); start_row(); -ref_cells(_("Reference:"), 'OrderNumber', null); +ref_cells(_("Reference:"), 'OrderNumber', '',null, '', true); -number_list_cells(_("Type"), 'type_', null, 0, 2); -date_cells(_("From:"), 'FromDate', null, 0, 0, -5); +number_list_cells(_("Type"), 'type_', null, 1, 2, _("All")); +date_cells(_("From:"), 'FromDate', '', null, 0, 0, -5); date_cells(_("To:"), 'ToDate'); check_cells( _("Only Overdue:"), 'OverdueOnly', null); @@ -51,7 +85,7 @@ if (!$outstanding_only) else $_POST['OpenOnly'] = 1; -submit_cells('SearchOrders', _("Search")); +submit_cells('SearchOrders', _("Search"), '', '', 'default'); end_row(); end_table(); @@ -60,109 +94,105 @@ end_form(); $dim = get_company_pref('use_dimension'); -$sql = "SELECT * FROM ".TB_PREF."dimensions WHERE id > 0"; - -if ($dim == 1) - $sql .= " AND type_=1"; - -if (isset($_POST['OpenOnly'])) +function view_link($row) { - $sql .= " AND closed=0"; + return get_dimensions_trans_view_str(ST_DIMENSION, $row["id"]); } -if (isset($_POST['type_']) && ($_POST['type_'] > 0)) +function is_closed($row) { - $sql .= " AND type_=" . $_POST['type_']; + return $row['closed'] ? _('Yes') : _('No'); } -if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "") +function sum_dimension($row) { - $sql .= " AND reference LIKE '%". $_POST['OrderNumber'] . "%'"; + $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]; } -if (isset($_POST['OverdueOnly'])) +function is_overdue($row) { - $today = date2sql(Today()); - - $sql .= " AND due_date < '$today' "; + return date_diff2(Today(), sql2date($row["due_date"]), "d") > 0; } -$sql .= " AND date_ >= '" . date2sql($_POST['FromDate']) . "' - AND date_ <= '" . date2sql($_POST['ToDate']) . "'"; - -$sql .= " ORDER BY due_date"; - -$result = db_query($sql,"could not query dimensions"); - -start_table("$table_style width=80%"); +function edit_link($row) +{ + //return $row["closed"] ? '' : + // pager_link(_("Edit"), + // "/dimensions/dimension_entry.php?trans_no=" . $row["id"], ICON_EDIT); + return pager_link(_("Edit"), + "/dimensions/dimension_entry.php?trans_no=" . $row["id"], ICON_EDIT); +} -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; +$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"; -while ($myrow = db_fetch($result)) +if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "") { - $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']; - $res = db_query($sql, "Transactions could not be calculated"); - $row = db_fetch_row($res); + $sql .= " AND reference LIKE ".db_escape("%". $_POST['OrderNumber'] . "%"); +} else { - if ($k == 1) - { - $row_text = "class='oddrow'"; - $k = 0; - } - else + if ($dim == 1) + $sql .= " AND type_=1"; + + if (isset($_POST['OpenOnly'])) { - $row_text = "class='evenrow'"; - $k++; + $sql .= " AND closed=0"; } - // check if it's an overdue work order - if (date_diff(Today(), sql2date($myrow["due_date"]), "d") > 0) + if (isset($_POST['type_']) && ($_POST['type_'] > 0)) { - $row_text = "class='overduebg'"; + $sql .= " AND type_=".db_escape($_POST['type_']); } - start_row($row_text); - - $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]); - if ($myrow["closed"] == 0) - label_cell("" . _("Edit") . ""); - end_row(); - - $j++; - If ($j == 12) + if (isset($_POST['OverdueOnly'])) { - $j = 1; - table_header($th); + $today = date2sql(Today()); + + $sql .= " AND due_date < '$today'"; } - //end of page full new headings if + + $sql .= " AND date_ >= '" . date2sql($_POST['FromDate']) . "' + AND date_ <= '" . date2sql($_POST['ToDate']) . "'"; } -//end of while loop -end_table(1); +$cols = array( + _("#") => array('fun'=>'view_link'), + _("Reference"), + _("Name"), + _("Type"), + _("Date") =>'date', + _("Due Date") => array('name'=>'due_date', 'type'=>'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'; +} + +$table =& new_db_pager('dim_tbl', $sql, $cols); +$table->set_marker('is_overdue', _("Marked dimensions are overdue.")); -//--------------------------------------------------------------------------------- +$table->width = "80%"; +start_form(); +display_db_pager($table); + +end_form(); end_page(); ?>