aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xabrechenbarkeit.lua33
-rw-r--r--locale/en.ini1
-rw-r--r--style.css4
3 files changed, 30 insertions, 8 deletions
diff --git a/abrechenbarkeit.lua b/abrechenbarkeit.lua
index b7ec392..41b4e8f 100755
--- a/abrechenbarkeit.lua
+++ b/abrechenbarkeit.lua
@@ -540,7 +540,7 @@ local function r_users(show_special, filter_negative)
if not show_special then
print(format([[
- <form action="/" method="GET" id="user_creation">
+ <form class="section" action="/" method="GET" id="user_creation">
<h3>{+index.form.create_user}</h3>
<label for="username">{+field.username}: </label>
<input type="text" name="create_user" id="username" />
@@ -583,8 +583,9 @@ local function r_users(show_special, filter_negative)
local show_user = function(user)
local is_spu = user.name:sub(1, 1) == "@"
local filter_out = query.prefix ~= nil and user.name:sub(1, 1):lower() ~= query.prefix
- if (filter_negative ~= nil and user.balance < filter_negative)
- or (filter_negative == nil and is_spu == show_special and (not filter_out)) then
+ if is_spu == show_special and
+ ((filter_negative ~= nil and user.balance < filter_negative)
+ or (filter_negative == nil and (not filter_out))) then
print(format([[<li>
<a href="/{username_url}">
<span class="name">{!username}</span>
@@ -597,12 +598,32 @@ local function r_users(show_special, filter_negative)
}))
end
end
+
+ if filter_negative ~= nil then
+ table.sort(users, function(a, b)
+ return a.balance < b.balance
+ end)
+ end
+
local inactive_cutoff = os.time() - (tonumber(config.inactive_cutoff) or (30 * 24 * 60 * 60))
- for _, user in ipairs(get_active_users()) do
- if filter_negative or user.time > inactive_cutoff then show_user(user) end
+ local embezzlement = 0
+ for _, user in ipairs(users) do
+ if filter_negative or user.time > inactive_cutoff then
+ show_user(user)
+
+ if user.name:sub(1,1) ~= "@" then
+ if user.balance < 0 then embezzlement = embezzlement - user.balance end
+ end
+ end
end
print("</ul>")
- if filter_negative ~= nil then return end
+ if filter_negative ~= nil then
+ print(format([[<section class="section" style="margin-top: 0">{+users.embezzlement}</section>]], {
+ amount = format_amount(embezzlement)
+ }))
+
+ return
+ end
print(format([[<details><summary>{+users.inactive_list}</summary><ul class="userlist">]]))
for _, user in ipairs(users) do
if user.time <= inactive_cutoff then show_user(user) end
diff --git a/locale/en.ini b/locale/en.ini
index e12704c..98dffee 100644
--- a/locale/en.ini
+++ b/locale/en.ini
@@ -68,3 +68,4 @@ error.invalid_name=Name invalid
error.open_products=Failed to open products file
error.no_path=No path
users.inactive_list=Inactive Users
+users.embezzlement=A total of {amount} are currently under embezzlement.
diff --git a/style.css b/style.css
index e3ddc27..9599c84 100644
--- a/style.css
+++ b/style.css
@@ -97,11 +97,11 @@ nav> :last-child {
}
/* landing page */
-form#user_creation {
+.section {
background-color: var(--b2);
padding: 1em;
margin-top: 2em;
- border-radius: 4px;
+ border-radius: 4px;
}
form#user_creation>h3 {