- Set ticket state (Offen / In Bearbeitung / Warten auf Schließen / Geschlossen) from the ticket detail page via a live PUT to Zammad; pending-close gets a default pending time and the change is synced back so it isn't flagged as an external change - Replace the disruptive meta-refresh with a JS auto-refresh that pauses while a text field has unsent content or focus - Persist reply/new-ticket drafts to localStorage and restore them after a reload or accidental navigation Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
34 lines
1.3 KiB
HTML
34 lines
1.3 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}Neues Ticket · EPI-Support{% endblock %}
|
|
{% block content %}
|
|
|
|
<p><a class="back" href="{{ url_for('index') }}">← zurück zur Übersicht</a></p>
|
|
|
|
<section class="panel">
|
|
<div class="panel-head"><h2>Neues Ticket beim EPI-Support anlegen</h2></div>
|
|
<form method="post" action="{{ url_for('new_ticket_preview') }}"
|
|
class="form attach-form" enctype="multipart/form-data">
|
|
<label>Titel / Betreff
|
|
<input type="text" name="title" required maxlength="200" data-draft
|
|
placeholder="Kurze Zusammenfassung des Anliegens">
|
|
</label>
|
|
<label>Gruppe
|
|
<select name="group" required>
|
|
{% for g in groups %}
|
|
<option value="{{ g }}" {{ 'selected' if g == 'EPI::Support' }}>{{ g }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</label>
|
|
<label>Nachricht
|
|
<textarea name="body" rows="10" required data-draft
|
|
placeholder="Beschreibe dein Anliegen… (Screenshot mit Strg+V einfügen)"></textarea>
|
|
</label>
|
|
{% include "_attach.html" %}
|
|
<div class="form-actions">
|
|
<button class="btn-sm" type="submit">Weiter zur Bestätigung →</button>
|
|
</div>
|
|
</form>
|
|
</section>
|
|
{% endblock %}
|
|
{% block scripts %}<script src="{{ url_for('static', filename='upload.js') }}"></script>{% endblock %}
|