Files
SysAdmin Agent 5c9db56158 Fix DMS entity assignment and Geschichte document linking
- DMS edit view: add Destinatär, Land, Pächter, Verpachtung dropdowns
  so documents can be assigned to entities after upload
- Geschichte: add M2M dokumente field on GeschichteSeite model
- Geschichte form: checkboxes to select/link Stiftungsgeschichte docs
- Geschichte detail: show linked documents in sidebar with download

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 10:40:46 +00:00

167 lines
6.9 KiB
HTML

{% extends 'base.html' %}
{% load help_tags %}
{% block title %}{{ title }}{% endblock %}
{% block extra_css %}
<style>
.geschichte-content {
line-height: 1.7;
}
.geschichte-content h1, .geschichte-content h2, .geschichte-content h3 {
margin-top: 2rem;
margin-bottom: 1rem;
color: #2c5234;
}
.geschichte-content p {
margin-bottom: 1rem;
}
.geschichte-bilder {
margin: 2rem 0;
}
.geschichte-bild {
margin-bottom: 2rem;
}
.geschichte-bild img {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.bild-beschreibung {
font-style: italic;
color: #666;
margin-top: 0.5rem;
}
</style>
{% endblock %}
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:home' %}">Home</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:geschichte_list' %}">Geschichte</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ seite.titel }}</li>
</ol>
</nav>
<div class="row">
<div class="col-lg-8">
<div class="card shadow">
<div class="card-header bg-primary text-white d-flex justify-content-between align-items-center">
<h5 class="mb-0">
<i class="fas fa-book-open me-2"></i>{{ seite.titel }}
</h5>
<div class="btn-group">
{% if perms.stiftung.change_geschichteseite %}
<a href="{% url 'stiftung:geschichte_edit' slug=seite.slug %}" class="btn btn-light btn-sm">
<i class="fas fa-edit me-1"></i>Bearbeiten
</a>
{% endif %}
{% if perms.stiftung.add_geschichtebild %}
<a href="{% url 'stiftung:geschichte_bild_upload' slug=seite.slug %}" class="btn btn-light btn-sm">
<i class="fas fa-image me-1"></i>Bild hinzufügen
</a>
{% endif %}
</div>
</div>
<div class="card-body">
<div class="geschichte-content">
{{ seite.inhalt|markdown_to_html }}
</div>
{% if bilder %}
<div class="geschichte-bilder">
<h4><i class="fas fa-images me-2"></i>Bildergalerie</h4>
{% for bild in bilder %}
<div class="geschichte-bild">
<div class="d-flex justify-content-between align-items-start mb-2">
<h6 class="mb-0">{{ bild.titel }}</h6>
{% if perms.stiftung.delete_geschichtebild %}
<a href="{% url 'stiftung:geschichte_bild_delete' slug=seite.slug bild_id=bild.id %}"
class="btn btn-outline-danger btn-sm"
title="Bild löschen">
<i class="fas fa-trash"></i>
</a>
{% endif %}
</div>
<img src="{{ bild.bild.url }}" alt="{{ bild.alt_text|default:bild.titel }}" class="img-fluid">
{% if bild.beschreibung %}
<div class="bild-beschreibung mt-2">
{{ bild.beschreibung }}
</div>
{% endif %}
</div>
{% endfor %}
</div>
{% endif %}
</div>
<div class="card-footer text-muted">
<div class="row">
<div class="col-md-6">
<small>
<i class="fas fa-user me-1"></i>
Erstellt von: {{ seite.erstellt_von.get_full_name|default:seite.erstellt_von.username }}
am {{ seite.erstellt_am|date:"d.m.Y H:i" }}
</small>
</div>
<div class="col-md-6 text-md-end">
<small>
<i class="fas fa-clock me-1"></i>
Zuletzt aktualisiert: {{ seite.aktualisiert_am|date:"d.m.Y H:i" }}
{% if seite.aktualisiert_von %}
von {{ seite.aktualisiert_von.get_full_name|default:seite.aktualisiert_von.username }}
{% endif %}
</small>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
{% if seite.dokumente.exists %}
<div class="card mb-3">
<div class="card-header bg-dark text-white">
<h6 class="mb-0"><i class="fas fa-landmark me-2"></i>Verknüpfte Dokumente</h6>
</div>
<div class="card-body p-0">
<div class="list-group list-group-flush">
{% for dok in seite.dokumente.all %}
<a href="{% url 'stiftung:dms_detail' pk=dok.pk %}" class="list-group-item list-group-item-action">
<div class="d-flex justify-content-between align-items-center">
<div>
<div class="small fw-bold">
{% if dok.is_pdf %}<i class="fas fa-file-pdf text-danger me-1"></i>{% else %}<i class="fas fa-file text-primary me-1"></i>{% endif %}
{{ dok.titel|truncatechars:35 }}
</div>
<small class="text-muted">{{ dok.dateiname_original }} &middot; {{ dok.get_human_size }}</small>
</div>
<span class="btn btn-sm btn-outline-success" title="Herunterladen" onclick="event.preventDefault(); window.location='{% url 'stiftung:dms_download' dok.pk %}';">
<i class="fas fa-download"></i>
</span>
</div>
</a>
{% endfor %}
</div>
</div>
</div>
{% endif %}
<div class="card">
<div class="card-header bg-secondary text-white">
<h6 class="mb-0"><i class="fas fa-list me-2"></i>Weitere Seiten</h6>
</div>
<div class="card-body">
<p class="text-muted small">Navigation zu anderen Geschichtsseiten wird hier angezeigt.</p>
</div>
</div>
</div>
</div>
<div class="mt-3">
<a href="{% url 'stiftung:geschichte_list' %}" class="btn btn-secondary">
<i class="fas fa-arrow-left me-1"></i>Zurück zur Übersicht
</a>
</div>
{% endblock %}