aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-11-26 19:26:30 +0100
committermetamuffin <metamuffin@disroot.org>2024-11-26 19:31:50 +0100
commit15f4cc0c85ed26175ce84e297190f698b4789209 (patch)
tree8a486716428a7648aa42d948ada025e366c88741
parent8e02438ea7c507ba03c55ae1cff36845521eaeb9 (diff)
downloadabrechenbarkeit-15f4cc0c85ed26175ce84e297190f698b4789209.tar
abrechenbarkeit-15f4cc0c85ed26175ce84e297190f698b4789209.tar.bz2
abrechenbarkeit-15f4cc0c85ed26175ce84e297190f698b4789209.tar.zst
expand inactive users when filter is applied
-rwxr-xr-xabrechenbarkeit.lua56
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