Files
Key-service-Server/Website/templates/admin_tickets.html
T
Maximilian G. d00c4e2cb9 Add admin management features and MongoDB setup scripts
- Created .vscode/settings.json for Python environment configuration.
- Added run.sh script for MongoDB installation and project setup.
- Implemented admin chat interface in admin_chats.html.
- Developed invoice management interface in admin_invoices.html.
- Created license management interface in admin_licenses.html.
- Added support ticket management interface in admin_tickets.html.
- Implemented user management interface in admin_users.html.
- Developed user chat interface in chat.html.
- Created user invoice overview in my_invoices.html.
- Developed user license overview in my_licenses.html.
- Added support ticket creation and tracking in tickets.html.
- Created test.sh script for MongoDB setup.
2026-03-23 22:10:13 +00:00

43 lines
1.9 KiB
HTML

{% extends "base.html" %}
{% block title %}Admin | Support Tickets{% endblock %}
{% block content %}
<section class="panel">
<h1>Support Tickets</h1>
<p>Ticketstatus verwalten und Antworten hinterlegen.</p>
</section>
<section class="tickets">
{% for ticket in tickets %}
<article class="ticket">
<h3>{{ ticket.title }}</h3>
<p><strong>Nutzer:</strong> {{ ticket.username }} | <strong>Prioritaet:</strong> {{ ticket.priority }}</p>
<p>{{ ticket.description }}</p>
<form method="post" class="update-form">
<input type="hidden" name="ticket_id" value="{{ ticket.id }}">
<select name="status">
<option value="Offen" {{ 'selected' if ticket.status == 'Offen' else '' }}>Offen</option>
<option value="In Bearbeitung" {{ 'selected' if ticket.status == 'In Bearbeitung' else '' }}>In Bearbeitung</option>
<option value="Geloest" {{ 'selected' if ticket.status == 'Geloest' else '' }}>Geloest</option>
</select>
<textarea name="admin_response" rows="3" placeholder="Antwort an Nutzer">{{ ticket.admin_response }}</textarea>
<button type="submit">Aktualisieren</button>
</form>
</article>
{% else %}
<article class="ticket"><p>Keine Tickets vorhanden.</p></article>
{% endfor %}
</section>
<style>
.panel { margin-bottom: 1rem; }
.tickets { display: grid; gap: 0.8rem; }
.ticket { background: #fff; border: 1px solid #d8e1e8; border-radius: 14px; padding: 1rem; }
.ticket p { margin-top: 0.3rem; }
.update-form { margin-top: 0.6rem; display: grid; gap: 0.55rem; }
select, textarea { width: 100%; border: 1px solid #c9d8e3; border-radius: 10px; padding: 0.55rem; font: inherit; }
button { width: fit-content; border: 1px solid #0a4c74; background: linear-gradient(120deg, #0c5a86 0%, #08486c 100%); color: #fff; padding: 0.5rem 1rem; border-radius: 999px; font-weight: 700; }
</style>
{% endblock %}