X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fui%2Fui_lists.inc;h=a5a5cbf20a3d3f4eea1312ec4f596d466437cbd0;hb=e41b7b30847fa2889d67d4e418bb9819a85f065d;hp=e2fc6a10cb91505a1cf5012bc2c91cb4303eaa41;hpb=3a5c989060c96623b8f621ba89f8eb4405fb1588;p=fa-stable.git diff --git a/includes/ui/ui_lists.inc b/includes/ui/ui_lists.inc index e2fc6a10..a5a5cbf2 100644 --- a/includes/ui/ui_lists.inc +++ b/includes/ui/ui_lists.inc @@ -49,7 +49,8 @@ $opts = array( // default options 'search' => array(), // sql field names to search 'format' => null, // format functions for regular options 'disabled' => false, - 'box_hint' => null // box/selectors hints; null = std see below + 'box_hint' => null, // box/selectors hints; null = std see below + 'category' => false // category column name or false ); // ------ merge options with defaults ---------- if($options != null) @@ -121,8 +122,15 @@ $opts = array( // default options } // sql completion if (count($opts['where'])) { - $sql .= strpos($sql, 'WHERE')==false ? ' WHERE ':' AND '; - $sql .= '('. implode($opts['where'], ' AND ') . ')'; + $where = strpos($sql, 'WHERE')==false ? ' WHERE ':' AND '; + $where .= '('. implode($opts['where'], ' AND ') . ')'; + $group_pos = strpos($sql, 'GROUP BY'); + if ($group_pos) { + $group = substr($sql, $group_pos); + $sql = substr($sql, 0, $group_pos) . $where.' '.$group; + } else { + $sql .= $where; + } } if ($opts['order'] != false) { $sql .= ' ORDER BY '.$opts['order']; @@ -133,7 +141,8 @@ $opts = array( // default options $selector = $first_opt = ''; $first_id = false; $found = false; -//if($name=='contact_sel') display_error($sql); + $lastcat = null; +//if($name=='stock_id') display_error($sql); if($result = db_query($sql)) { while ($contact_row = db_fetch($result)) { $value = $contact_row[0]; @@ -151,6 +160,11 @@ $opts = array( // default options $first_id = $value; $first_opt = $descr; } + $cat = $contact_row[$opts['category']]; + if ($opts['category'] !== false && $cat != $lastcat){ + $selector .= "\n"; + $lastcat = $cat; + } $selector .= "\n"; } db_free_result($result); @@ -625,14 +639,14 @@ function stock_items_list($name, $selected_id=null, $all_option=false, $submit_o 'search' => array("stock_id", "c.description","s.description"), 'search_submit' => get_company_pref('no_item_list')!=0, 'size'=>10, - 'select_submit'=> $submit_on_change + 'select_submit'=> $submit_on_change, + 'category' => 2 ), $opts) ); } function _format_stock_items($row) { - return (user_show_codes() ? ($row[0] . " - ") : "") - . $row[2] . " - " . $row[1]; + return (user_show_codes() ? ($row[0] . " - ") : "") . $row[1]; } function stock_items_list_cells($label, $name, $selected_id=null, $all_option=false, $submit_on_change=false) @@ -669,10 +683,9 @@ function sales_items_list($name, $selected_id=null, $all_option=false, ON i.category_id=c.category_id"; if ($type == 'local') { // exclude foreign codes - $sql .= " WHERE NOT i.is_foreign"; + $sql .= " WHERE !i.is_foreign"; } elseif ($type == 'kits') { // sales kits - $sql .= " WHERE NOT i.is_foreign - AND NOT i.item_code=i.stock_id"; + $sql .= " WHERE !i.is_foreign AND i.item_code!=i.stock_id"; } $sql .= " GROUP BY i.item_code"; @@ -684,11 +697,12 @@ function sales_items_list($name, $selected_id=null, $all_option=false, 'spec_option' => $all_option===true ? _("All Items") : $all_option, 'spec_id' => $all_items, 'search_box' => true, - 'search' => array("i.item_code", "c.description","s.description"), + 'search' => array("i.item_code", "c.description"), 'search_submit' => get_company_pref('no_item_list')!=0, 'size'=>15, 'select_submit'=> $submit_on_change, - 'order' => 'i.item_code' + 'order' => 'i.item_code', + 'category' => 2 ), $opts) ); } @@ -736,8 +750,8 @@ function base_stock_items_list($where, $name, $selected_id=null, 'spec_option' => $all_option==true ? _("All Items") : $all_option, 'spec_id' => $all_items, 'select_submit'=> $submit_on_change, - 'where' => $where - ) ); + 'where' => $where, + 'category' => 2 ) ); } //------------------------------------------------------------------------------------ @@ -1503,7 +1517,7 @@ function gl_account_types_list_row($label, $name, $selected_id=null, $all_option //----------------------------------------------------------------------------------------------- function gl_all_accounts_list($name, $selected_id=null, $skip_bank_accounts=false, - $show_group=false, $cells=false, $all_option=false, $submit_on_change=false) + $cells=false, $all_option=false, $submit_on_change=false) { if ($skip_bank_accounts) $sql = "SELECT chart.account_code, chart.account_name, type.name @@ -1519,7 +1533,7 @@ function gl_all_accounts_list($name, $selected_id=null, $skip_bank_accounts=fals combo_input($name, $selected_id, $sql, 'chart.account_code', 'chart.account_name', array( - 'format' => '_format_account' . ($show_group ? '2' : ''), + 'format' => '_format_account', 'spec_option' => $all_option===true ? _("Use Item Sales Accounts") : $all_option, 'spec_id' => '', 'order' => 'account_code', @@ -1529,7 +1543,8 @@ function gl_all_accounts_list($name, $selected_id=null, $skip_bank_accounts=fals 'max' => 10, 'cells' => true, 'select_submit'=> $submit_on_change, - 'async' => false + 'async' => false, + 'category' => 2 ) ); } @@ -1539,27 +1554,23 @@ function _format_account($row) return $row[0] . "    " . $row[1]; } -function _format_account2($row) -{ - return $row[0] . "    " . $row[2] . "      " . $row[1]; -} - -function gl_all_accounts_list_cells($label, $name, $selected_id=null, $skip_bank_accounts=false, - $show_group=false, $cells=false, $all_option=false) +function gl_all_accounts_list_cells($label, $name, $selected_id=null, + $skip_bank_accounts=false, $cells=false, $all_option=false) { if ($label != null) echo "$label\n"; echo ""; - gl_all_accounts_list($name, $selected_id, $skip_bank_accounts, $show_group, $cells, $all_option); + gl_all_accounts_list($name, $selected_id, + $skip_bank_accounts, $cells, $all_option); echo "\n"; } -function gl_all_accounts_list_row($label, $name, $selected_id=null, $skip_bank_accounts=false, - $show_group=false, $cells=false, $all_option=false) +function gl_all_accounts_list_row($label, $name, $selected_id=null, + $skip_bank_accounts=false, $cells=false, $all_option=false) { echo "\n"; - gl_all_accounts_list_cells($label, $name, $selected_id, $skip_bank_accounts, - $show_group, $cells, $all_option); + gl_all_accounts_list_cells($label, $name, $selected_id, + $skip_bank_accounts, $cells, $all_option); echo "\n"; }