Files
TicketSupport/views/admin.ejs
T

48 lines
1.8 KiB
Plaintext
Raw Normal View History

2026-05-01 19:31:44 +02:00
<section>
<div class="flex between center">
<h1>Admin · Tickets</h1>
<div class="flex center">
<a class="btn" href="/admin/users">Manage Users</a>
<form method="get" action="/admin" class="filters">
<label>Status
<select name="status" onchange="this.form.submit()">
<option value="" <%= !status ? 'selected':'' %>>All</option>
<option value="open" <%= status==='open'?'selected':'' %>>open</option>
<option value="answered" <%= status==='answered'?'selected':'' %>>answered</option>
<option value="closed" <%= status==='closed'?'selected':'' %>>closed</option>
</select>
</label>
<noscript><button type="submit" class="btn">Apply</button></noscript>
</form>
</div>
</div>
<% if (!tickets || tickets.length === 0) { %>
<p>No tickets.</p>
<% } else { %>
<div class="table">
<div class="row head">
<div>Subject</div>
<div>User</div>
<div>Status</div>
<div>Updated</div>
<div></div>
</div>
<% tickets.forEach(t => { %>
<div class="row">
<div><strong><%= t.subject %></strong></div>
<div class="muted small"><%= t.user_name || '' %> <%= t.user_email %></div>
<div><span class="badge <%= t.status %>"><%= t.status %></span></div>
<div class="muted small"><%= t.updated_at || t.created_at %></div>
<div class="actions">
<a class="btn" href="/tickets/<%= t.id %>">View</a>
<form method="post" action="/admin/tickets/<%= t.id %>/delete" style="display:inline" onsubmit="return confirm('Delete this ticket? This cannot be undone.')">
<button type="submit" class="btn danger">Delete</button>
</form>
</div>
</div>
<% }) %>
</div>
<% } %>
</section>