- Poll the public download page for "Aktuelle Version <nr> vom <date>", report changes through the normal change feed and notification mail, and show the current version as a card on the overview. Runs on its own interval (default 30 min); the first run only records a baseline. - Archive epirentServer.zip / epirentClient.zip per version number so we keep a download cache and history: streamed to disk with SHA-256 and size, fetched in a background thread so ticket polling is unaffected, with a free-space check before downloading (~1.1 GB per version). - Retention is configurable via EPIRENT_DOWNLOAD_KEEP, where 0 means unlimited; a successful archive is reported as a change and by mail. - New Downloads page listing the archived versions with checksums and links to fetch the cached files. - Notification lines now omit the arrow when there is no previous value and drop the "#" for entries without a ticket. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
20 lines
877 B
HTML
20 lines
877 B
HTML
{% macro change_row(c) %}
|
||
<li class="{{ 'unseen' if not c.seen else '' }}"
|
||
{% if c.detail %}title="{{ c.detail }}"{% endif %}>
|
||
<span class="tag tag-{{ c.field }}">{{ c.label }}</span>
|
||
{% if c.ticket_id %}
|
||
<a class="cnum" href="{{ url_for('ticket_detail', ticket_id=c.ticket_id) }}">#{{ c.ticket_number }}</a>
|
||
{% endif %}
|
||
<span class="ctitle">{{ c.ticket_title }}</span>
|
||
<span class="cchg">{% if c.old_value %}{{ c.old_value }} → {% endif %}<b>{{ c.new_value or '–' }}</b></span>
|
||
<time>{{ c.detected_at|dt }}</time>
|
||
{% if not c.seen %}
|
||
<form method="post" action="{{ url_for('mark_one_read', change_id=c.id) }}" class="mark-one">
|
||
<button type="submit" title="Als gelesen markieren">✓</button>
|
||
</form>
|
||
{% else %}
|
||
<span class="seen-dot" title="gelesen">·</span>
|
||
{% endif %}
|
||
</li>
|
||
{% endmacro %}
|