login

<     >

2023-08-13 10:44:11 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

show invitees in user page

diff --git a/data.lua b/data.lua
index 792bf7e..d919615 100644
--- a/data.lua
+++ b/data.lua
@@ -118,6 +118,10 @@ function Model:get_indexed_users()
     return users
 end
 
+function Model:get_invitees(user_id)
+    return self.db:execute("SELECT nick, name FROM User WHERE invited_by = ?;", user_id)
+end
+
 function Model:can_manage(user, other)
     local parent_id = other.invited_by
     while parent_id ~= nil do

diff --git a/skopos.lua b/skopos.lua
index c40e828..8ed88bc 100644
--- a/skopos.lua
+++ b/skopos.lua
@@ -134,10 +134,12 @@ function App:routes()
         if user == nil then return "/login?after="..req.path, 303 end
         local other = self.model:get_user(nick, true)
         if other == nil then return "not found", 404 end
+        local invitees = self.model:get_invitees(other.id)
         local manage = self.model:can_manage(user, other)
         local projs = self.model:get_user_projects(other.id)
         local env = {
-            title=self.title, user=user, other=other, manage=manage, projs=projs
+            title=self.title, user=user, other=other, invitees=invitees,
+            manage=manage, projs=projs
         }
         return lud.template.render_file("view/user.html", env)
     end},

diff --git a/view/user.html b/view/user.html
index cebb4cd..edec42e 100644
--- a/view/user.html
+++ b/view/user.html
@@ -29,6 +29,13 @@
     (root)
     % end
   </p>
+  % if #$invitees > 0 then
+  <p><strong>invited:</strong>
+    % for invitee in $invitees do
+    <a href="/u/{{$invitee.nick}}">{{$invitee.name}}</a>
+    % end
+  </p>
+  % end
   <p><strong>projects:</strong>
     <ul class="proj-list">
       % for proj in $projs do