48 lines
1.8 KiB
Plaintext
48 lines
1.8 KiB
Plaintext
<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>
|