diff options
author | metamuffin <metamuffin@disroot.org> | 2024-11-26 19:26:30 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-11-26 19:31:50 +0100 |
commit | 15f4cc0c85ed26175ce84e297190f698b4789209 (patch) | |
tree | 8a486716428a7648aa42d948ada025e366c88741 | |
parent | 8e02438ea7c507ba03c55ae1cff36845521eaeb9 (diff) | |
download | abrechenbarkeit-15f4cc0c85ed26175ce84e297190f698b4789209.tar abrechenbarkeit-15f4cc0c85ed26175ce84e297190f698b4789209.tar.bz2 abrechenbarkeit-15f4cc0c85ed26175ce84e297190f698b4789209.tar.zst |
expand inactive users when filter is applied
-rwxr-xr-x | abrechenbarkeit.lua | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/abrechenbarkeit.lua b/abrechenbarkeit.lua index 41b4e8f..5bdd4ab 100755 --- a/abrechenbarkeit.lua +++ b/abrechenbarkeit.lua @@ -536,8 +536,8 @@ local function r_users(show_special, filter_negative) end return respond(200, "Abrechenbarkeit", function() - local users = get_active_users() - + local users = get_active_users() + if not show_special then print(format([[ <form class="section" action="/" method="GET" id="user_creation"> @@ -548,34 +548,34 @@ local function r_users(show_special, filter_negative) </form> ]])) - -- get first letters - local firstletters = {} - local function contains(char) - for _, firstchar in ipairs(firstletters) do - if firstchar == char then - return true - end - end + -- get first letters + local firstletters = {} + local function contains(char) + for _, firstchar in ipairs(firstletters) do + if firstchar == char then + return true + end + end + + return false + end - return false - end - - for _, user in ipairs(users) do - user.firstchar = user.name:sub(1,1):lower() - if user.firstchar ~= "@" and not contains(user.firstchar) then - table.insert(firstletters, user.firstchar) - end - end + for _, user in ipairs(users) do + user.firstchar = user.name:sub(1, 1):lower() + if user.firstchar ~= "@" and not contains(user.firstchar) then + table.insert(firstletters, user.firstchar) + end + end - table.sort(firstletters) + table.sort(firstletters) print(format([[<section class="firstletterlist"><h3>{+users.filter}</h3><ul>]])) - for k, letter in ipairs(firstletters) do - print(format([[<li><a href="?users&prefix={letter}">{letter}</a></li>]], { - letter = letter, - })) - end - print([[</ul></section>]]) + for k, letter in ipairs(firstletters) do + print(format([[<li><a href="?users&prefix={letter}">{letter}</a></li>]], { + letter = letter, + })) + end + print([[</ul></section>]]) end print([[<div class="userlist"></div>]]) -- for printing print([[<ul class="userlist">]]) @@ -624,7 +624,9 @@ local function r_users(show_special, filter_negative) return end - print(format([[<details><summary>{+users.inactive_list}</summary><ul class="userlist">]])) + print(format([[ + <details {oclass}><summary>{+users.inactive_list}</summary><ul class="userlist"> + ]], { oclass = query.prefix and "open" or "" })) for _, user in ipairs(users) do if user.time <= inactive_cutoff then show_user(user) end end |