From a28572003eb3f6fb9f1653c852fc086effc00035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lera=20Elvo=C3=A9?= Date: Thu, 22 May 2025 04:00:11 +0300 Subject: [PATCH] add quick and dirty user list for mods --- app.lua | 1 + apps/mod.lua | 23 +++++++++++++++++++++++ views/common/topnav.etlua | 4 ++++ views/mod/user-list.etlua | 8 ++++++++ 4 files changed, 36 insertions(+) create mode 100644 apps/mod.lua create mode 100644 views/mod/user-list.etlua diff --git a/app.lua b/app.lua index 174d765..2751c67 100644 --- a/app.lua +++ b/app.lua @@ -31,6 +31,7 @@ app:before_filter(inject_methods) app:include("apps.users", {path = "/user"}) app:include("apps.topics", {path = "/topics"}) app:include("apps.threads", {path = "/threads"}) +app:include("apps.mod", {path = "/mod"}) app:get("/", function(self) return {redirect_to = self:url_for("all_topics")} diff --git a/apps/mod.lua b/apps/mod.lua new file mode 100644 index 0000000..ecb33a4 --- /dev/null +++ b/apps/mod.lua @@ -0,0 +1,23 @@ +local app = require("lapis").Application() + +local util = require("util") + +local models = require("models") +local Users = models.Users + +app:get("user_list", "/list", function(self) + self.me = util.get_logged_in_user(self) + if not self.me then + return {redirect_to = self:url_for("all_topics")} + end + + if not self.me:is_mod() then + return {redirect_to = self:url_for("all_topics")} + end + + self.users = Users:select("") + + return {render = "mod.user-list"} +end) + +return app diff --git a/views/common/topnav.etlua b/views/common/topnav.etlua index f50ed1d..a44081e 100644 --- a/views/common/topnav.etlua +++ b/views/common/topnav.etlua @@ -7,6 +7,10 @@ <% if me and me:is_logged_in() then -%> Welcome, "><%= me.username %> + <% if me:is_mod() then %> + • + ">User list + <% end %> <% else -%> Welcome, guest. Please ">sign up or ">log in <% end -%> diff --git a/views/mod/user-list.etlua b/views/mod/user-list.etlua new file mode 100644 index 0000000..7a5db52 --- /dev/null +++ b/views/mod/user-list.etlua @@ -0,0 +1,8 @@ +
+

All users

+ +