Files
EpiSupport-Zammad-Scraper/templates/new_ticket.html
T
leopold.stroblandClaude Opus 4.8 1041f283a4 Add EPI-Support monitoring & analytics platform
Internal Flask app that monitors the epi-helpdesk.zammad.com tickets via
the Zammad API, deployable as a systemd service behind Apache under
/episupport.

Features:
- Poller: session-login API sync, snapshot diff to detect agent changes
  (status, owner, priority, closures, new replies); email notifications
- Dashboard: ticket overview with sorting, "not closed" filter and
  highlighting of tickets with unconfirmed changes; per-item and bulk
  "mark as read"
- Analytics: KPIs, response/resolution times, monthly SVG trend chart,
  distributions (status/priority/group/agent), Excel export
- Conversation view: full per-ticket thread cached in the DB (avoids
  proxy timeouts), inline image attachments, safe HTML-to-text rendering
- Write actions: reply to tickets and create new tickets with a
  confirmation step and attachment upload (incl. clipboard paste);
  self-triggered actions are synced back so they aren't flagged as changes
- Local timezone display (Europe/Berlin) for all timestamps

Includes deploy tooling: setup.sh, systemd units and Apache config.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 09:19:53 +02:00

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"
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
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 %}