From: Janusz Dobrowolski Date: Tue, 4 Nov 2008 12:29:36 +0000 (+0000) Subject: Added query size preference. X-Git-Tag: v2.4.2~19^2~1805 X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=9ee0badebd7b5c62dc964ef399e6bd36ae9d8348;p=fa-stable.git Added query size preference. --- diff --git a/admin/db/users_db.inc b/admin/db/users_db.inc index 8580733f..8515a9bd 100644 --- a/admin/db/users_db.inc +++ b/admin/db/users_db.inc @@ -44,7 +44,7 @@ function update_user($user_id, $real_name, $phone, $email, $full_access, function update_user_display_prefs($user_id, $price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes, $date_format, $date_sep, $tho_sep, - $dec_sep, $theme, $pagesize, $show_hints, $profile, $rep_popup) + $dec_sep, $theme, $pagesize, $show_hints, $profile, $rep_popup, $query_size) { $sql = "UPDATE ".TB_PREF."users SET prices_dec=".db_escape($price_dec).", @@ -61,7 +61,8 @@ function update_user_display_prefs($user_id, $price_dec, $qty_dec, $exrate_dec, page_size=".db_escape($pagesize).", show_hints=$show_hints, print_profile=".db_escape($profile).", - rep_popup=$rep_popup + rep_popup=$rep_popup, + query_size=$query_size WHERE user_id = ".db_escape($user_id); db_query($sql, "could not update user display prefs for $user_id"); diff --git a/admin/display_prefs.php b/admin/display_prefs.php index fcf8c9ad..35a1c636 100644 --- a/admin/display_prefs.php +++ b/admin/display_prefs.php @@ -15,24 +15,31 @@ include_once($path_to_root . "/admin/db/company_db.inc"); if (isset($_POST['setprefs'])) { - $theme = user_theme(); - set_user_prefs($_POST['prices'], $_POST['Quantities'], - $_POST['Rates'], $_POST['Percent'], - check_value('show_gl'), - check_value('show_codes'), - $_POST['date_format'], $_POST['date_sep'], - $_POST['tho_sep'], $_POST['dec_sep'], - $_POST['theme'], $_POST['page_size'], check_value('show_hints'), - $_POST['profile'], check_value('rep_popup')); - - language::set_language($_POST['language']); - - flush_dir($comp_path.'/'.user_company().'/js_cache'); - - if (user_theme() != $theme) - reload_page(""); - - display_notification_centered(_("Display settings have been updated.")); + if (!is_numeric($_POST['query_size']) || ($_POST['query_size']<1)) + { + display_error($_POST['query_size']); + display_error( _("Query size must integer and greater than zero.")); + set_focus('query_size'); + } else { + $theme = user_theme(); + set_user_prefs($_POST['prices'], $_POST['Quantities'], + $_POST['Rates'], $_POST['Percent'], + check_value('show_gl'), + check_value('show_codes'), + $_POST['date_format'], $_POST['date_sep'], + $_POST['tho_sep'], $_POST['dec_sep'], + $_POST['theme'], $_POST['page_size'], check_value('show_hints'), + $_POST['profile'], check_value('rep_popup'), (int)($_POST['query_size'])); + + language::set_language($_POST['language']); + + flush_dir($comp_path.'/'.user_company().'/js_cache'); + + if (user_theme() != $theme) + reload_page(""); + + display_notification_centered(_("Display settings have been updated.")); + } } start_form(); @@ -91,6 +98,8 @@ print_profiles_list_row(_("Printing profile"). ':', 'profile', check_row(_("Use popup window to display reports:"), 'rep_popup', user_rep_popup(), false, _('Set this option to on if your browser directly supports pdf files')); +text_row_ex(_("Query page size:"), 'query_size', 5, 5, '', user_query_size()); + table_section_title(_("Language")); if (!isset($_POST['language'])) diff --git a/includes/current_user.inc b/includes/current_user.inc index 0e7a4a87..4d2d2081 100644 --- a/includes/current_user.inc +++ b/includes/current_user.inc @@ -100,11 +100,11 @@ class current_user function update_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes, $date_format, $date_sep, $tho_sep, $dec_sep, - $theme, $pagesize, $show_hints, $profile, $rep_popup) { + $theme, $pagesize, $show_hints, $profile, $rep_popup, $query_size) { update_user_display_prefs($this->username, $price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes, $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, - $show_hints, $profile, $rep_popup); + $show_hints, $profile, $rep_popup, $query_size); // re-read the prefs $user = get_user($this->username); @@ -274,14 +274,19 @@ function user_rep_popup() return $_SESSION["wa_current_user"]->prefs->rep_popup(); } +function user_query_size() +{ + return $_SESSION["wa_current_user"]->prefs->query_size(); +} + function set_user_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes, $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints, - $print_profile, $rep_popup) + $print_profile, $rep_popup, $query_size) { $_SESSION["wa_current_user"]->update_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes, $date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints, - $print_profile, $rep_popup); + $print_profile, $rep_popup, $query_size); } function add_user_js_data() { diff --git a/includes/prefs/userprefs.inc b/includes/prefs/userprefs.inc index f48fef0e..c24fa01f 100644 --- a/includes/prefs/userprefs.inc +++ b/includes/prefs/userprefs.inc @@ -22,6 +22,7 @@ class user_prefs var $rep_popup; var $pagesize; // for printing var $show_hints; + var $query_size; // table pager page length function user_prefs(&$user) { @@ -45,6 +46,7 @@ class user_prefs $this->show_hints = $user["show_hints"]; $this->print_profile = $user["print_profile"]; $this->rep_popup = $user["rep_popup"]; + $this->query_size = $user["query_size"]; } function language() @@ -139,6 +141,11 @@ class user_prefs return $this->rep_popup; } + function query_size() + { + return $this->query_size; + } + function set_dec($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes) { $this->price_dec = $price_dec; diff --git a/sql/alter2.1.sql b/sql/alter2.1.sql index 2fe22c85..065184ea 100644 --- a/sql/alter2.1.sql +++ b/sql/alter2.1.sql @@ -1,3 +1,5 @@ +ALTER TABLE `0_users` ADD `query_size` TINYINT(1) DEFAULT '10'; + DROP TABLE IF EXISTS `0_sales_pos`; CREATE TABLE `0_sales_pos` (