2023-08-04 17:39:12 (UTC-03:00)
Marcel Rodrigues <marcelgmr@gmail.com>
show status, priority, and improve ticket page
diff --git a/data.lua b/data.lua index 1cdb687..cfaa737 100644 --- a/data.lua +++ b/data.lua @@ -92,6 +92,15 @@ function Model:get_states() return self.db:execute("SELECT * FROM State;") end +function Model:get_indexed_states() + local query = "SELECT id, name FROM State;" + local states = {} + for _, state in ipairs(self.db:execute(query)) do + states[state.id] = state.name + end + return states +end + function Model:create_user(nick, name, password) local salt = auth.get_salt() local hash = auth.hash_pass(password, salt) diff --git a/skopos.lua b/skopos.lua index b2b7e09..a2893c7 100644 --- a/skopos.lua +++ b/skopos.lua @@ -222,11 +222,12 @@ function App:routes() local tick = self.model:get_ticket(proj.id, tonumber(code)) if tick == nil then return "not found", 404 end local users = self.model:get_indexed_users() + local states = self.model:get_indexed_states() -- TODO: load comments local comments = {} local env = { title=self.title, user=user, proj=proj, tick=tick, - users=users, comments=comments + users=users, states=states, comments=comments } return lud.template.render_file("view/ticket.html", env) end}, diff --git a/view/ticket.html b/view/ticket.html index faffc2c..8a31e22 100644 --- a/view/ticket.html +++ b/view/ticket.html @@ -19,20 +19,31 @@ <div class="ticket-details"> <h1>{{$tick.title}}</h1> <div class="header-details"> - <p class="date">Date: {{os.date("%Y-%m-%d", $tick.time)}}</p> + <p class="date"><strong>Date:</strong> {{os.date("%Y-%m-%d", $tick.time)}}</p> % set author = $users[$tick.user_id] - <p class="author">Author: <a href="/u/{{$author.nick}}">{{$author.name}}</a></p> + <p class="author"> + <strong>Author:</strong> + <a href="/u/{{$author.nick}}">{{$author.name}}</a> + </p> </div> <pre>{{$tick.desc}}</pre> + <p> + <strong>Status:</strong> {{$states[$tick.state_id]}} + + <strong>Priority:</strong> {{$tick.priority}} + </p> </div> <div class="comments-section"> <h2>Comments</h2> % for comment in $comments do <div class="comment"> <div class="header-details"> - <p class="date">Date: {{os.date("%Y-%m-%d", $comment.time)}}</p> + <p class="date"><strong>Date:</strong> {{os.date("%Y-%m-%d", $comment.time)}}</p> % set author = $users[$comment.user_id] - <p class="author">Author: <a href="/u/{{$author.nick}}">{{$author.name}}</a></p> + <p class="author"> + <strong>Author:</strong> + <a href="/u/{{$author.nick}}">{{$author.name}}</a> + </p> </div> <pre>{{$comment.text}}</pre> </div>