From bfe1e858010c9d52c8f6a0623218300ee22823fc Mon Sep 17 00:00:00 2001 From: Linty Date: Wed, 7 Aug 2024 12:41:52 +0200 Subject: [PATCH] fixes #2201 better implementation for the number of associated users removed the javascript part to directly manage disabling an option via the tpl in a foreach and data in php --- admin/themes/default/js/user_list.js | 11 ----------- admin/themes/default/template/user_list.tpl | 22 ++++++++++++++++++--- admin/user_list.php | 16 ++++++++++++--- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/admin/themes/default/js/user_list.js b/admin/themes/default/js/user_list.js index af31f4f26..9a7adbbbd 100644 --- a/admin/themes/default/js/user_list.js +++ b/admin/themes/default/js/user_list.js @@ -228,17 +228,6 @@ $( document ).ready(function() { $(".advanced-filter-select").change(update_user_list); $("#user_search").on("input", update_user_list); - // disables certain status, level and group filters if they do not have users - $(` - .advanced-filter-select[name="filter_status"] option:not(:selected), - .advanced-filter-select[name="filter_level"] option:not(:selected), - .advanced-filter-select[name="filter_group"] option:not(:selected) - `).each(function() { - if (!this.textContent.split(' ')[1]){ - $(this).prop('disabled', true); - } - }); - /*View manager*/ if ($("#displayCompact").is(":checked")) { diff --git a/admin/themes/default/template/user_list.tpl b/admin/themes/default/template/user_list.tpl index 28dc90120..4de98dec3 100644 --- a/admin/themes/default/template/user_list.tpl +++ b/admin/themes/default/template/user_list.tpl @@ -293,7 +293,13 @@ $(document).ready(function() {
@@ -302,7 +308,13 @@ $(document).ready(function() {
@@ -311,7 +323,11 @@ $(document).ready(function() {
diff --git a/admin/user_list.php b/admin/user_list.php index 13904f028..eab181180 100644 --- a/admin/user_list.php +++ b/admin/user_list.php @@ -37,7 +37,11 @@ $result = pwg_query($query); while ($row = pwg_db_fetch_assoc($result)) { $groups[$row['id']] = $row['name']; - $groups_for_filter[$row['id']] = $row['nb_users_of'] ? $row['name'] . ' ('. $row['nb_users_of'] .')' : $row['name']; + $groups_for_filter[] = array( + 'id' => $row['id'], + 'name' => $row['name'], + 'counter' => $row['nb_users_of'] + ); } $template->assign('groups_for_filter', $groups_for_filter); @@ -159,7 +163,10 @@ SELECT $result = pwg_query($query); while($row = pwg_db_fetch_assoc($result)) { - $nb_users_by_status[$row['status']] = l10n('user_status_'.$row['status']) . ' ('. $row['nb_users_of'] .')'; + $nb_users_by_status[$row['status']] = array( + 'name' => l10n('user_status_'.$row['status']), + 'counter' => $row['nb_users_of'], + ); } $nb_users_by_status = array_merge($label_of_status, $nb_users_by_status); @@ -197,7 +204,10 @@ $result = pwg_query($query); $nb_users_by_level = $level_options; while($row = pwg_db_fetch_assoc($result)) { - $nb_users_by_level[$row['level']] = l10n(sprintf('Level %d', $row['level'])) . ' ('. $row['nb_users_of'] .')'; + $nb_users_by_level[$row['level']] = array( + 'name' => l10n(sprintf('Level %d', $row['level'])), + 'counter' => $row['nb_users_of'] + ); } $template->assign('level_options', $level_options);