99 lines
3.4 KiB
HTML
99 lines
3.4 KiB
HTML
{% extends shell_base %}
|
|
|
|
{% block title %}Dokumente · CheckPoint Ehrenamt{% endblock %}
|
|
|
|
{% macro dokument_karte(d, mit_verschieben=False) %}
|
|
<li class="cp-card">
|
|
<a href="{{ url_for('dokumente.datei', dok_id=d.id) }}">
|
|
<strong>{{ d.titel }}</strong>
|
|
</a>
|
|
<div class="cp-muted">
|
|
{{ d.uploader.anzeigename }} · {{ d.erstellt_am.strftime('%d.%m.%Y') }}
|
|
</div>
|
|
{% if mit_verschieben and current_user.ist_admin %}
|
|
<div class="cp-actions">
|
|
<form method="post" action="{{ url_for('dokumente.verschieben', dok_id=d.id) }}">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
|
<button type="submit" class="cp-btn cp-btn--ghost">
|
|
{{ "Ins Archiv" if d.ablage == "aktuell" else "Zurück zu Aktuell" }}
|
|
</button>
|
|
</form>
|
|
</div>
|
|
{% endif %}
|
|
</li>
|
|
{% endmacro %}
|
|
|
|
{% block content %}
|
|
<p><a class="cp-muted" href="{{ url_for('main.team') }}">← Team</a></p>
|
|
<h1>Dokumente</h1>
|
|
|
|
{% if current_user.ist_admin and offene_freigaben %}
|
|
<div class="cp-actions">
|
|
<a class="cp-btn cp-btn--primary" href="{{ url_for('dokumente.freigaben') }}">
|
|
Freigaben ({{ offene_freigaben }})
|
|
</a>
|
|
</div>
|
|
{% elif current_user.ist_admin %}
|
|
<div class="cp-actions">
|
|
<a class="cp-btn cp-btn--ghost" href="{{ url_for('dokumente.freigaben') }}">Freigaben</a>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<h2>Aktuell</h2>
|
|
<ul class="cp-list">
|
|
{% for d in aktuell %}
|
|
{{ dokument_karte(d, mit_verschieben=True) }}
|
|
{% else %}
|
|
<li class="cp-muted">Noch keine freigegebenen Dokumente.</li>
|
|
{% endfor %}
|
|
</ul>
|
|
|
|
{% if archiv %}
|
|
<h2>Archiv</h2>
|
|
<ul class="cp-list">
|
|
{% for d in archiv %}
|
|
{{ dokument_karte(d, mit_verschieben=True) }}
|
|
{% endfor %}
|
|
</ul>
|
|
{% endif %}
|
|
|
|
{% if eigene_wartend %}
|
|
<h2>Meine Uploads in Prüfung</h2>
|
|
<p class="cp-muted">Nur du und der Admin sehen diese, bis sie freigegeben sind.</p>
|
|
<ul class="cp-list">
|
|
{% for d in eigene_wartend %}
|
|
<li class="cp-card">
|
|
<strong>{{ d.titel }}</strong>
|
|
<div class="cp-muted">{{ d.erstellt_am.strftime('%d.%m.%Y') }}</div>
|
|
{% if d.status == "abgelehnt" %}
|
|
<span class="cp-tag cp-tag--urgent">Abgelehnt</span>
|
|
{% if d.ablehnungsgrund %}
|
|
<div class="cp-muted">Grund: {{ d.ablehnungsgrund }}</div>
|
|
{% endif %}
|
|
{% else %}
|
|
<span class="cp-tag">Wartet auf Freigabe</span>
|
|
{% endif %}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% endif %}
|
|
|
|
<h2>Dokument hochladen</h2>
|
|
<p class="cp-muted">PDF, Word, Excel oder Bild, max. 10 MB. Fotos nur ohne
|
|
erkennbare Dritte bzw. mit deren Einverständnis.</p>
|
|
<form method="post" action="{{ url_for('dokumente.upload') }}"
|
|
enctype="multipart/form-data" class="cp-form">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
|
<div class="cp-field">
|
|
<label for="titel">Titel</label>
|
|
<input type="text" id="titel" name="titel" required
|
|
placeholder="z. B. Hygienekonzept 2026">
|
|
</div>
|
|
<div class="cp-field">
|
|
<label for="datei">Datei</label>
|
|
<input type="file" id="datei" name="datei" required
|
|
accept=".pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.gif,.webp">
|
|
</div>
|
|
<button type="submit" class="cp-btn cp-btn--primary">Hochladen</button>
|
|
</form>
|
|
{% endblock %}
|