From 2b573e0be560fd27613c66b07f9a88a5b768ba66 Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Wed, 19 Dec 2018 11:56:34 +0100 Subject: [PATCH] 4811: magnifying glass select on deposits/payments erroneously shows bank account gl accounts. Fixed, @Braathwaathe. --- gl/includes/db/gl_db_accounts.inc | 26 ++++++++++++++++---------- gl/inquiry/accounts_list.php | 3 ++- includes/ui/ui_lists.inc | 8 +++++--- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/gl/includes/db/gl_db_accounts.inc b/gl/includes/db/gl_db_accounts.inc index 6ee99382..6bc73abd 100644 --- a/gl/includes/db/gl_db_accounts.inc +++ b/gl/includes/db/gl_db_accounts.inc @@ -289,7 +289,7 @@ function is_bank_account($account_code) return false; } -function get_chart_accounts_search($like) +function get_chart_accounts_search($like, $skip=false) { global $SysPrefs; @@ -298,14 +298,20 @@ function get_chart_accounts_search($like) else $limit = 10; - - $sql = "SELECT chart.account_code, chart.account_name, type.name - FROM ".TB_PREF."chart_master chart,".TB_PREF."chart_types type - WHERE chart.account_type=type.id - AND ( - chart.account_name LIKE " . db_escape("%" . $like. "%") . " OR - chart.account_code LIKE " . db_escape("%" . $like. "%") . " - ) - ORDER BY chart.account_code LIMIT 0,".(int)($limit); // We only display 10 items. + if ($skip) + $sql = "SELECT chart.account_code, chart.account_name, type.name, chart.inactive, type.id + FROM (".TB_PREF."chart_master chart,".TB_PREF."chart_types type) " + ."LEFT JOIN ".TB_PREF."bank_accounts acc " + ."ON chart.account_code=acc.account_code + WHERE acc.account_code IS NULL + AND chart.account_type=type.id "; + else + $sql = "SELECT chart.account_code, chart.account_name, type.name, chart.inactive, type.id + FROM ".TB_PREF."chart_master chart,".TB_PREF."chart_types type WHERE chart.account_type=type.id "; + $sql .= "AND ( + chart.account_name LIKE " . db_escape("%" . $like. "%") . " OR + chart.account_code LIKE " . db_escape("%" . $like. "%") . " + ) + ORDER BY chart.account_code LIMIT 0,".(int)($limit); // We only display 10 items. return db_query($sql, "Failed in retreiving GL account list."); } diff --git a/gl/inquiry/accounts_list.php b/gl/inquiry/accounts_list.php index e785557a..a9174c58 100644 --- a/gl/inquiry/accounts_list.php +++ b/gl/inquiry/accounts_list.php @@ -55,8 +55,9 @@ table_header($th); $k = 0; $name = $_GET["client_id"]; +$skip = $_GET["skip"]; -$result = get_chart_accounts_search(get_post("description")); +$result = get_chart_accounts_search(get_post("description"), $skip); while ($myrow = db_fetch_assoc($result)) { alt_table_row_color($k); $value = $myrow['account_code']; diff --git a/includes/ui/ui_lists.inc b/includes/ui/ui_lists.inc index 0bc9ca0b..5b6387f6 100644 --- a/includes/ui/ui_lists.inc +++ b/includes/ui/ui_lists.inc @@ -345,7 +345,9 @@ $opts = array( // default options $img_title = _("Search suppliers"); break; case "account": - $link = $path_to_root . "/gl/inquiry/accounts_list.php?popup=1&client_id=" . $id; + case "account2"; + $skip = strtolower($type) == "account" ? false : true; + $link = $path_to_root . "/gl/inquiry/accounts_list.php?popup=1&skip=".$skip."&client_id=" . $id; $img_title = _("Search GL accounts"); break; } @@ -1822,7 +1824,7 @@ function gl_all_accounts_list($name, $selected_id=null, $skip_bank_accounts=fals FROM ".TB_PREF."chart_master chart,".TB_PREF."chart_types type WHERE chart.account_type=type.id"; if ($type_id ) $sql .= " AND chart.account_type=".db_escape($type_id); - + $account = ($skip_bank_accounts ? "account2" : "account"); return combo_input($name, $selected_id, $sql, 'chart.account_code', 'chart.account_name', array( 'format' => '_format_account', @@ -1839,7 +1841,7 @@ function gl_all_accounts_list($name, $selected_id=null, $skip_bank_accounts=fals 'async' => false, 'category' => 2, 'show_inactive' => $all - ), "account" ); + ), $account ); } function _format_account($row) -- 2.30.2