From 4ea57967cd002e659d3a934c7825b951fc3d39f3 Mon Sep 17 00:00:00 2001 From: MatthieuLP Date: Mon, 19 Dec 2022 16:35:46 +0100 Subject: [PATCH] fixed #1832 Number of displayed users in user manager is now saved in user_prefs --- admin/themes/default/js/user_list.js | 56 ++++++++++++++++----- admin/themes/default/template/user_list.tpl | 1 + admin/user_list.php | 11 ++++ 3 files changed, 56 insertions(+), 12 deletions(-) diff --git a/admin/themes/default/js/user_list.js b/admin/themes/default/js/user_list.js index 2b0ac4b97..71f2bbc36 100644 --- a/admin/themes/default/js/user_list.js +++ b/admin/themes/default/js/user_list.js @@ -252,24 +252,45 @@ $( document ).ready(function() { /* Pagination */ - if (view_selector === "compact") { - if (per_page < 10) { - per_page = 10 - update_pagination_menu(); - update_user_list(); - - $("#pagination-per-page-5").removeClass("selected-pagination"); - $("#pagination-per-page-10").addClass("selected-pagination"); - $("#pagination-per-page-25").removeClass("selected-pagination"); - $("#pagination-per-page-50").removeClass("selected-pagination"); - } - } else { + console.log(pagination); + switch (pagination) { + case '5': + console.log(pagination); $("#pagination-per-page-5").addClass("selected-pagination"); $("#pagination-per-page-10").removeClass("selected-pagination"); $("#pagination-per-page-25").removeClass("selected-pagination"); $("#pagination-per-page-50").removeClass("selected-pagination"); + break; + case '10': + console.log(pagination); + $("#pagination-per-page-5").removeClass("selected-pagination"); + $("#pagination-per-page-10").addClass("selected-pagination"); + $("#pagination-per-page-25").removeClass("selected-pagination"); + $("#pagination-per-page-50").removeClass("selected-pagination"); + + break; + case '25': + console.log(pagination); + $("#pagination-per-page-5").removeClass("selected-pagination"); + $("#pagination-per-page-10").removeClass("selected-pagination"); + $("#pagination-per-page-25").addClass("selected-pagination"); + $("#pagination-per-page-50").removeClass("selected-pagination"); + + break; + case '50': + console.log(pagination); + $("#pagination-per-page-5").removeClass("selected-pagination"); + $("#pagination-per-page-10").removeClass("selected-pagination"); + $("#pagination-per-page-25").removeClass("selected-pagination"); + $("#pagination-per-page-50").addClass("selected-pagination"); + break; + default: + + break; } + $("#pagination-per-page-"+pagination).trigger('click'); + if (has_group) { advanced_filter_button_click(); $("select[name='filter_group']").val(has_group); @@ -514,6 +535,17 @@ $('.pagination-arrow.left').on('click', () => { }) $('.pagination-per-page a').on('click',function () { + + jQuery.ajax({ + url: "ws.php?format=json&method=pwg.users.preferences.set", + type: "POST", + data: { + param: "user-manager-pagination", + value: parseInt($(this).html()), + is_json: false, + } + }); + per_page = parseInt($(this).html()); actual_page = 1; update_pagination_menu(); diff --git a/admin/themes/default/template/user_list.tpl b/admin/themes/default/template/user_list.tpl index 3ca856ff7..ab0a7f7fc 100644 --- a/admin/themes/default/template/user_list.tpl +++ b/admin/themes/default/template/user_list.tpl @@ -37,6 +37,7 @@ const str_popin_update_btn = '{'Update'|@translate|escape:javascript}'; const history_base_url = "{$U_HISTORY}"; const view_selector = '{$view_selector}'; +const pagination = '{$pagination}'; months = [ "{'Jan'|@translate}", diff --git a/admin/user_list.php b/admin/user_list.php index 7d7f80548..197be7450 100644 --- a/admin/user_list.php +++ b/admin/user_list.php @@ -173,6 +173,17 @@ $template->assign('groups_arr_name', implode(',', $groups_arr_name)); $template->assign('guest_id', $conf["guest_id"]); $template->assign('view_selector', userprefs_get_param('user-manager-view', 'line')); + +if (userprefs_get_param('user-manager-view', 'line') == 'line') +{ + //Show 5 users by default + $template->assign('pagination', userprefs_get_param('user-manager-pagination', 5)); +} +else +{ + //Show 10 users by default + $template->assign('pagination', userprefs_get_param('user-manager-pagination', 10)); +} // +-----------------------------------------------------------------------+ // | html code display | // +-----------------------------------------------------------------------+