Initial commit

This commit is contained in:
Felix Baumann
2026-06-27 17:07:34 +00:00
commit fb47c53d52
256 changed files with 21270 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
{% extends "base.html" %}
{% block title %}
{{ project.name }} - Dokumente
{% endblock %}
{% block header_title %}
Dokumente hochladen
{% endblock %}
{% block header_description %}
Dokumente und Belege hochladen
{% endblock %}
{% block content %}
<div class="p-6 rounded-xl shadow bg-white dark:bg-slate-800 text-slate-900 dark:text-white transition-colors">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="grid grid-cols-1 gap-4">
{{ form.as_p }}
</div>
<button
type="submit"
class="btn mt-4 btn-save">
Speichern
</button>
</form>
</div>
{% endblock %}
+111
View File
@@ -0,0 +1,111 @@
{% extends "base.html" %}
{% block title %}
{{ project.name }} - Dokumente
{% endblock %}
{% block header_title %}
Dokumente
{% endblock %}
{% block header_description %}
Dateien & Bilder
{% endblock %}
{% block content %}
<div class="mb-8">
<div class="p-6 rounded-xl shadow bg-white dark:bg-slate-800 text-slate-900 dark:text-white transition-colors">
<div class="flex flex-col sm:flex-row sm:justify-between sm:items-center gap-4">
<div>
<h2 class="text-xl font-bold">Aktionen</h2>
<p class="text-slate-400 text-sm mt-1">Dokumente hochladen</p>
</div>
<div class="flex flex-col sm:flex-row gap-2">
<a href="{% url 'documents:add' project.id %}" class="btn btn-add">+ Dokument</a>
</div>
</div>
</div>
</div>
<!-- Kategorien -->
{% for cat, docs in grouped.items %}
<div class="p-6 rounded-xl shadow bg-white dark:bg-slate-800 text-slate-900 dark:text-white transition-colors mb-2" >
<div class="flex items-center justify-between mb-2">
<h2 class="text-xl font-bold">
{{ cat.name }}
</h2>
<span class="text-sm text-slate-400">
{{ docs|length }} Dokumente
</span>
</div>
{% if docs %}
<div class="grid grid-cols-1 md:grid-cols-3 xl:grid-cols-4 gap-6">
{% for d in docs %}
<div class="bg-slate-100 dark:bg-slate-700 rounded-xl shadow overflow-hidden transition">
<!-- Vorschau klickbar -->
<a href="{{ d.file.url }}" target="_blank">
{% if d.extension == ".jpg" or d.extension == ".jpeg" or d.extension == ".png" or d.extension == ".webp" %}
<div class="h-64 bg-slate-100 flex items-center justify-center overflow-hidden">
<img src="{{ d.file.url }}" class="w-full h-full object-cover">
</div>
{% else %}
<div class="h-64 flex flex-col items-center justify-center bg-slate-100">
<div class="text-5xl mb-2">📄</div>
<div class="text-slate-400 text-sm">Keine Vorschau verfügbar</div>
</div>
{% endif %}
</a>
<!-- Infos -->
<div class="p-4">
<h3 class="font-semibold truncate">{{ d.title }}</h3>
<div class="mt-2 text-sm text-slate-400">Hochgeladen von {{ d.uploaded_by }}</div>
<div class="text-sm text-slate-400">{{ d.created_at|date:"d.m.Y H:i" }}</div>
<div class="mt-4 flex">
<form method="post" action="{% url 'documents:delete' project.id d.id %}">
{% csrf_token %}
<button type="submit" class="btn btn-delete">Löschen</button>
</form>
</div>
</div>
</div>
{% endfor %}
</div>
{% else %}
<div class="bg-white dark:bg-slate-800 border border-orange-500 rounded-xl p-6 text-orange-500">
Keine Dokumente vorhanden.
</div>
{% endif %}
</div>
{% empty %}
<div class="bg-white dark:bg-slate-800 border border-orange-500 rounded-xl p-6 text-orange-500">
Noch keine Kategorien vorhanden.
</div>
{% endfor %}
{% endblock %}