X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=dimensions%2Finquiry%2Fsearch_dimensions.php;h=8e43471fd5975754ad390a2a111b0c80b18c0c66;hb=e8ae3516539a520338117f25d401c0fc234973a4;hp=f659092be0136597d1e17a96d6a26c64322a6af3;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/dimensions/inquiry/search_dimensions.php b/dimensions/inquiry/search_dimensions.php index f659092b..8e43471f 100644 --- a/dimensions/inquiry/search_dimensions.php +++ b/dimensions/inquiry/search_dimensions.php @@ -1,8 +1,18 @@ . +***********************************************************************/ $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"); @@ -10,17 +20,43 @@ include_once($path_to_root . "/includes/ui.inc"); $js = ""; if ($use_popup_windows) $js .= get_js_open_window(800, 500); +if ($use_date_picker) + $js .= get_js_date_picker(); -if ($_GET['outstanding_only']) +if (isset($_GET['outstanding_only']) && $_GET['outstanding_only']) { $outstanding_only = 1; - page(_("Search Outstanding Dimensionss"), false, false, "", $js); -} -else + page(_("Search Outstanding Dimensions"), false, false, "", $js); +} +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'); +} //-------------------------------------------------------------------------------------- @@ -29,27 +65,27 @@ 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); -if (!$outstanding_only) +if (!$outstanding_only) { check_cells( _("Only Open:"), 'OpenOnly', null); -} +} else $_POST['OpenOnly'] = 1; -submit_cells('SearchOrders', _("Search")); +submit_cells('SearchOrders', _("Search"), '', '', true); end_row(); end_table(); @@ -58,109 +94,107 @@ 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(systypes::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_diff(Today(), sql2date($row["due_date"]), "d") > 0; } -$sql .= " AND date_ >= '" . date2sql($_POST['FromDate']) . "' - AND date_ <= '" . date2sql($_POST['ToDate']) . "'"; - -$sql .= " ORDER BY due_date"; +function edit_link($row) +{ + return $row["closed"] ? '' : + pager_link(_("Edit"), + "/dimensions/dimension_entry.php?trans_no=" . $row["id"], ICON_EDIT); +} -$result = db_query($sql,"could not query dimensions"); +$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"; -start_table("$table_style width=80%"); +if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "") +{ + $sql .= " AND reference LIKE '%". $_POST['OrderNumber'] . "%'"; +} else { -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; + if ($dim == 1) + $sql .= " AND type_=1"; -while ($myrow = db_fetch($result)) -{ - $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); - - if ($k == 1) + if (isset($_POST['OpenOnly'])) { - $row_text = "class='oddrow'"; - $k = 0; - } - else - { - $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_=" . $_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']) . "'"; +} + +$cols = array( + _("#") => array('fun'=>'view_link'), + _("Reference"), + _("Name"), + _("Type"), + _("Date") =>'date', + _("Due Date") => array('name'=>'due_date', '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'; } -//end of while loop -end_table(1); +$table =& new_db_pager('dim_tbl', $sql, $cols); +$table->set_marker('is_overdue', _("Marked dimensions are overdue.")); + +if (get_post('SearchOrders')) { + $table->set_sql($sql); + $table->set_columns($cols); +} +$table->width = "80%"; +start_form(); -//--------------------------------------------------------------------------------- +display_db_pager($table); +end_form(); end_page(); ?>