Remove obsolete dashboard functionality

- Remove dashboard view from urls.py and views.py
- Delete dashboard.html template
- Remove dashboard navigation link from base.html
- Replace all dashboard redirects with home redirects in views.py
- Update all breadcrumb links from 'Dashboard' to 'Home' in templates
- Update German text from 'Dashboard' to 'Startseite' in auth templates
- Update 'Zurück zum Dashboard' links to 'Zurück zur Startseite'

The dashboard was redundant with the home page functionality.
All navigation now directs users to the main home page instead.
System check passes without issues after removal.
This commit is contained in:
2025-10-05 20:49:48 +02:00
parent 1a40277d66
commit 544284dd8b
20 changed files with 28 additions and 574 deletions

View File

@@ -7,8 +7,6 @@ app_name = "stiftung"
urlpatterns = [
# Home - Main landing page after login
path("", views.home, name="home"),
# Dashboard (detailed view)
path("dashboard/", views.dashboard, name="dashboard"),
# CSV Import URLs
path("import/", views.csv_import_list, name="csv_import_list"),
path("import/neu/", views.csv_import_create, name="csv_import_create"),

View File

@@ -2498,145 +2498,6 @@ def jahresbericht_pdf(request, jahr):
return response
# Dashboard Views
@login_required
def dashboard(request):
# Foerderung statistics (Person statistics removed - was legacy Verpachtung system)
total_foerderungen = Foerderung.objects.aggregate(total=Sum("betrag"))["total"] or 0
# Land statistics
total_land = Land.objects.count()
active_land = Land.objects.filter(aktiv=True).count()
total_flaeche = Land.objects.aggregate(total=Sum("groesse_qm"))["total"] or 0
# Calculate total verpachtet from active verpachtungen
total_verpachtet = (
LandVerpachtung.objects.filter(status="aktiv").aggregate(
total=Sum("verpachtete_flaeche")
)["total"]
or 0
)
# Verpachtung statistics
total_verpachtungen = LandVerpachtung.objects.count()
active_verpachtungen = LandVerpachtung.objects.filter(status="aktiv").count()
total_pachtzins = (
LandVerpachtung.objects.filter(status="aktiv").aggregate(
total=Sum("pachtzins_pauschal")
)["total"]
or 0
)
# Recent activities
recent_lands = Land.objects.order_by("-erstellt_am")[:5]
recent_verpachtungen = LandVerpachtung.objects.select_related(
"land", "paechter"
).order_by("-erstellt_am")[:5]
# Dokumentenübersicht
dokumente_uebersicht = DokumentLink.objects.all().order_by("-id")[:10]
# Verfügbare Paperless-Dokumente für Dashboard
available_paperless_docs = []
from stiftung.utils.config import get_paperless_config
config = get_paperless_config()
url = config["api_url"]
token = config["api_token"]
if url and token:
try:
base_url = url.rstrip("/api") if url.endswith("/api") else url
headers = {"Authorization": f"Token {token}"}
# Alle verfügbaren Dokumente abrufen (mit Paginierung)
all_dokumente = []
page = 1
page_size = 100
while True:
response = requests.get(
f"{base_url}/api/documents/?page={page}&page_size={page_size}",
headers=headers,
timeout=10,
)
response.raise_for_status()
data = response.json()
all_dokumente.extend(data.get("results", []))
if not data.get("next"):
break
page += 1
# Stiftung-Dokumente filtern
for doc in all_dokumente:
try:
tags = []
doc_tags = doc.get("tags", [])
if isinstance(doc_tags, list):
for tag in doc_tags:
if isinstance(tag, dict) and "name" in tag:
tags.append(tag["name"])
elif isinstance(tag, str):
tags.append(tag)
elif isinstance(tag, int):
tags.append(f"Tag_{tag}")
elif isinstance(doc_tags, str):
tags = [tag.strip() for tag in doc_tags.split(",")]
if any(
tag
in [
config["destinataere_tag"],
config["land_tag"],
config["admin_tag"],
]
for tag in tags
):
bereits_verknuepft = DokumentLink.objects.filter(
paperless_document_id=doc["id"]
).exists()
if not bereits_verknuepft:
available_paperless_docs.append(
{
"id": doc["id"],
"title": doc.get("title", f'Dokument {doc["id"]}'),
"created_date": doc.get("created_date", ""),
"tags": tags,
"thumbnail_url": f"{base_url}/api/documents/{doc['id']}/thumb/",
"document_url": f"{base_url}/documents/{doc['id']}/",
}
)
except Exception:
continue
# Nach Erstellungsdatum sortieren (neueste zuerst)
available_paperless_docs.sort(key=lambda x: x["created_date"], reverse=True)
except Exception:
pass
context = {
# Person statistics removed - was legacy Verpachtung system
"total_foerderungen": total_foerderungen,
"total_land": total_land,
"active_land": active_land,
"total_flaeche": total_flaeche,
"total_verpachtet": total_verpachtet,
"total_verpachtungen": total_verpachtungen,
"active_verpachtungen": active_verpachtungen,
"total_pachtzins": total_pachtzins,
"recent_lands": recent_lands,
"recent_verpachtungen": recent_verpachtungen,
"dokumente_uebersicht": dokumente_uebersicht,
"available_paperless_docs": available_paperless_docs,
}
return render(request, "stiftung/dashboard.html", context)
# API Views for AJAX
@login_required
def land_stats_api(request):
@@ -6517,7 +6378,7 @@ def user_login(request):
from django.contrib.auth.forms import AuthenticationForm
if request.user.is_authenticated:
return redirect("stiftung:dashboard")
return redirect("stiftung:home")
if request.method == "POST":
form = AuthenticationForm(request, data=request.POST)
@@ -6535,11 +6396,11 @@ def user_login(request):
messages.success(request, f"Willkommen zurück, {user.username}!")
# Redirect to safe next URL path or dashboard
# Redirect to safe next URL path or home
next_param = request.GET.get("next") or request.POST.get("next")
if next_param and next_param.startswith("/"):
return redirect(next_param)
return redirect("stiftung:dashboard")
return redirect("stiftung:home")
else:
messages.error(request, "Ungültige Anmeldedaten.")
else:
@@ -7248,7 +7109,7 @@ def edit_help_box(request):
messages.error(
request, "Sie haben keine Berechtigung, Hilfsboxen zu bearbeiten."
)
return redirect("stiftung:dashboard")
return redirect("stiftung:home")
if request.method == "POST":
page_key = request.POST.get("page_key")
@@ -7258,7 +7119,7 @@ def edit_help_box(request):
if not page_key or not title or not content:
messages.error(request, "Alle Felder sind erforderlich.")
return redirect(request.META.get("HTTP_REFERER", "stiftung:dashboard"))
return redirect(request.META.get("HTTP_REFERER", "stiftung:home"))
# Hilfsbox erstellen oder aktualisieren
help_box, created = HelpBox.objects.get_or_create(
@@ -7285,7 +7146,7 @@ def edit_help_box(request):
messages.success(request, f'Hilfsbox "{title}" wurde erstellt.')
# Zurück zur vorherigen Seite
return redirect(request.META.get("HTTP_REFERER", "stiftung:dashboard"))
return redirect(request.META.get("HTTP_REFERER", "stiftung:home"))
# GET Request - Zeige Admin-Übersicht der Hilfsboxen
help_boxes = HelpBox.objects.all().order_by("page_key", "-updated_at")
@@ -7955,7 +7816,7 @@ def two_factor_verify(request):
if device.verify_token(token):
request.session['2fa_verified'] = True
messages.success(request, "Zwei-Faktor-Authentifizierung erfolgreich.")
return redirect(request.GET.get('next', 'stiftung:dashboard'))
return redirect(request.GET.get('next', 'stiftung:home'))
# Check static backup tokens
static_devices = StaticDevice.objects.filter(user=request.user)
@@ -7963,7 +7824,7 @@ def two_factor_verify(request):
if device.verify_token(token):
request.session['2fa_verified'] = True
messages.success(request, "Backup-Code erfolgreich verwendet.")
return redirect(request.GET.get('next', 'stiftung:dashboard'))
return redirect(request.GET.get('next', 'stiftung:home'))
messages.error(request, "Ungültiger Code. Bitte versuchen Sie es erneut.")
@@ -7992,7 +7853,7 @@ def two_factor_disable(request):
request,
"Zwei-Faktor-Authentifizierung wurde erfolgreich deaktiviert."
)
return redirect("stiftung:dashboard")
return redirect("stiftung:home")
else:
messages.error(request, "Ungültiges Passwort.")

View File

@@ -528,11 +528,6 @@
<i class="fas fa-home me-1"></i>Home
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'stiftung:dashboard' %}">
<i class="fas fa-tachometer-alt me-1"></i>Dashboard
</a>
</li>
<!-- Destinatäre -->
<li class="nav-item dropdown">

View File

@@ -72,9 +72,9 @@
</div>
<div class="text-center mt-4">
<a href="{% url 'stiftung:dashboard' %}" class="btn btn-primary btn-lg">
<a href="{% url 'stiftung:home' %}" class="btn btn-primary btn-lg">
<i class="fas fa-home"></i>
Weiter zum Dashboard
Weiter zur Startseite
</a>
</div>
</div>

View File

@@ -133,9 +133,9 @@
</div>
<div class="text-center mt-3">
<a href="{% url 'stiftung:dashboard' %}" class="btn btn-outline-secondary">
<a href="{% url 'stiftung:home' %}" class="btn btn-outline-secondary">
<i class="fas fa-arrow-left"></i>
Zurück zum Dashboard
Zurück zur Startseite
</a>
</div>
</div>

View File

@@ -58,7 +58,7 @@
<i class="fas fa-times-circle"></i>
Zwei-Faktor-Authentifizierung deaktivieren
</button>
<a href="{% url 'stiftung:dashboard' %}" class="btn btn-outline-secondary">
<a href="{% url 'stiftung:home' %}" class="btn btn-outline-secondary">
<i class="fas fa-arrow-left"></i>
Abbrechen
</a>

View File

@@ -111,9 +111,9 @@
</div>
<div class="text-center mt-3">
<a href="{% url 'stiftung:dashboard' %}" class="btn btn-outline-secondary">
<a href="{% url 'stiftung:home' %}" class="btn btn-outline-secondary">
<i class="fas fa-arrow-left"></i>
Zurück zum Dashboard
Zurück zur Startseite
</a>
</div>
</div>

View File

@@ -79,7 +79,7 @@
<i class="fas fa-check"></i>
Zwei-Faktor-Authentifizierung aktivieren
</button>
<a href="{% url 'stiftung:dashboard' %}" class="btn btn-outline-secondary">
<a href="{% url 'stiftung:home' %}" class="btn btn-outline-secondary">
<i class="fas fa-times"></i>
Abbrechen
</a>

View File

@@ -1,400 +0,0 @@
{% extends 'base.html' %}
{% load static %}
{% block title %}Dashboard - Stiftungsverwaltung{% endblock %}
{% block content %}
<div class="row">
<div class="col-12">
<h1 class="h3 mb-4">
<i class="fas fa-tachometer-alt text-primary me-2"></i>
Dashboard - Stiftungsverwaltung
</h1>
</div>
</div>
<!-- Statistics Cards -->
<div class="row mb-4">
<!-- Land Statistics -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
Ländereien
</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
{{ total_land }}
</div>
<div class="text-xs text-muted">
{{ total_flaeche|floatformat:0 }} qm Gesamtfläche
</div>
</div>
<div class="col-auto">
<i class="fas fa-map fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Verpachtung Statistics -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-info shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">
Verpachtungen
</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
{{ active_verpachtungen }}
</div>
<div class="text-xs text-muted">
{{ total_verpachtet|floatformat:0 }} qm verpachtet
</div>
</div>
<div class="col-auto">
<i class="fas fa-handshake fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Financial Statistics -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-warning shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
Einnahmen
</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
€{{ total_pachtzins|floatformat:0 }}
</div>
<div class="text-xs text-muted">
Jährlicher Pachtzins
</div>
</div>
<div class="col-auto">
<i class="fas fa-euro-sign fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Quick Actions -->
<div class="row mb-4">
<div class="col-12">
<div class="card shadow">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">
<i class="fas fa-bolt me-2"></i>Schnellzugriff
</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-3 mb-3">
<a href="{% url 'stiftung:foerderung_create' %}" class="btn btn-outline-primary w-100 h-100 d-flex flex-column align-items-center justify-content-center p-3">
<i class="fas fa-gift fa-2x mb-2"></i>
<span>Neue Förderung</span>
</a>
</div>
<!-- Removed generic "Neue Verpachtung" - now created via specific Land pages -->
<div class="col-md-3 mb-3">
<a href="{% url 'stiftung:bericht_list' %}" class="btn btn-outline-info w-100 h-100 d-flex flex-column align-items-center justify-content-center p-3">
<i class="fas fa-chart-bar fa-2x mb-2"></i>
<span>Jahresberichte</span>
</a>
</div>
<div class="col-md-3 mb-3">
<a href="{% url 'stiftung:csv_import_create' %}" class="btn btn-outline-warning w-100 h-100 d-flex flex-column align-items-center justify-content-center p-3">
<i class="fas fa-upload fa-2x mb-2"></i>
<span>CSV Import</span>
</a>
</div>
<div class="col-md-3 mb-3">
<a href="{% url 'stiftung:dokument_management' %}" class="btn btn-outline-info w-100 h-100 d-flex flex-column align-items-center justify-content-center p-3">
<i class="fas fa-file-alt fa-2x mb-2"></i>
<span>Dokumentenverwaltung</span>
</a>
</div>
<div class="col-md-3 mb-3">
<a href="{% url 'stiftung:dokument_list' %}" class="btn btn-outline-secondary w-100 h-100 d-flex flex-column align-items-center justify-content-center p-3">
<i class="fas fa-link fa-2x mb-2"></i>
<span>Dokumente</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Dokumentenübersicht -->
<div class="row mb-4">
<div class="col-12">
<div class="card shadow">
<div class="card-header py-3 d-flex justify-content-between align-items-center">
<h6 class="m-0 font-weight-bold text-success">
<i class="fas fa-file-alt me-2"></i>Dokumentenübersicht
</h6>
<a href="{% url 'stiftung:dokument_management' %}" class="btn btn-success btn-sm">
<i class="fas fa-external-link-alt me-1"></i>Dokumentenverwaltung
</a>
</div>
<div class="card-body">
{% if dokumente_uebersicht %}
<div class="table-responsive">
<table class="table table-hover">
<thead class="table-light">
<tr>
<th>Dokument</th>
<th>Kontext</th>
<th>Verknüpft mit</th>
<th>Aktionen</th>
</tr>
</thead>
<tbody>
{% for dokument in dokumente_uebersicht %}
<tr>
<td>
<strong>{{ dokument.titel }}</strong>
<br>
<small class="text-muted">ID: {{ dokument.paperless_document_id }}</small>
</td>
<td>
<span class="badge bg-secondary">{{ dokument.get_kontext_display }}</span>
</td>
<td>
{% if dokument.verpachtung_id %}
<span class="badge bg-info">Verpachtung</span>
{% elif dokument.land_id %}
<span class="badge bg-success">Länderei</span>
{% elif dokument.paechter_id %}
<span class="badge bg-primary">Pächter</span>
{% elif dokument.destinataer_id %}
<span class="badge bg-warning">Destinatär</span>
{% elif dokument.foerderung_id %}
<span class="badge bg-secondary">Förderung</span>
{% else %}
<span class="text-muted">Keine Verknüpfung</span>
{% endif %}
</td>
<td>
<div class="btn-group" role="group">
<a href="{{ dokument.get_paperless_url }}" target="_blank" class="btn btn-sm btn-outline-primary" title="In Paperless öffnen">
<i class="fas fa-external-link-alt"></i>
</a>
<a href="{% url 'stiftung:dokument_detail' dokument.pk %}" class="btn btn-sm btn-outline-info" title="Details">
<i class="fas fa-eye"></i>
</a>
<a href="{% url 'stiftung:dokument_update' dokument.pk %}" class="btn btn-sm btn-outline-warning" title="Bearbeiten">
<i class="fas fa-edit"></i>
</a>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="text-center mt-3">
<a href="{% url 'stiftung:dokument_list' %}" class="btn btn-success">
Alle Dokumente anzeigen
</a>
</div>
{% else %}
<div class="text-center py-4">
<i class="fas fa-file-alt fa-3x text-muted mb-3"></i>
<h5 class="text-muted">Keine Dokumente verknüpft</h5>
<p class="text-muted">Verknüpfen Sie Dokumente aus Paperless mit Ihren Entitäten.</p>
<a href="{% url 'stiftung:dokument_management' %}" class="btn btn-success">
<i class="fas fa-external-link-alt me-2"></i>Dokumentenverwaltung öffnen
</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
<!-- Verfügbare Paperless-Dokumente -->
{% if available_paperless_docs %}
<div class="row mb-4">
<div class="col-12">
<div class="card shadow">
<div class="card-header py-3 d-flex justify-content-between align-items-center">
<h6 class="m-0 font-weight-bold text-info">
<i class="fas fa-plus-circle me-2"></i>Verfügbare Paperless-Dokumente
</h6>
<span class="badge bg-info">{{ available_paperless_docs|length }} verfügbar</span>
</div>
<div class="card-body">
<div class="row">
{% for doc in available_paperless_docs|slice:":6" %}
<div class="col-md-6 col-lg-4 mb-3">
<div class="card h-100 border-info">
<div class="card-body">
<h6 class="card-title">{{ doc.title }}</h6>
<div class="mb-2">
{% for tag in doc.tags %}
{% if tag == 'Stiftung_Destinatäre' or tag == 'Stiftung_Land_und_Pächter' or tag == 'Stiftung_Administration' %}
<span class="badge bg-primary me-1">{{ tag }}</span>
{% else %}
<span class="badge bg-light text-dark me-1">{{ tag }}</span>
{% endif %}
{% endfor %}
</div>
<div class="d-flex justify-content-between align-items-center">
<a href="{{ doc.document_url }}" target="_blank" class="btn btn-sm btn-outline-info">
<i class="fas fa-external-link-alt me-1"></i>In Paperless öffnen
</a>
<a href="{% url 'stiftung:dokument_management' %}" class="btn btn-sm btn-success">
<i class="fas fa-link me-1"></i>Verknüpfen
</a>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
<div class="text-center mt-3">
<a href="{% url 'stiftung:dokument_management' %}" class="btn btn-info">
<i class="fas fa-external-link-alt me-2"></i>Alle verfügbaren Dokumente anzeigen
</a>
</div>
</div>
</div>
</div>
</div>
{% endif %}
<!-- Recent Activities -->
<div class="row">
<!-- Recent Lands -->
<div class="col-lg-6 mb-4">
<div class="card shadow">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">
<i class="fas fa-map me-2"></i>Neueste Ländereien
</h6>
</div>
<div class="card-body">
{% if recent_lands %}
<div class="list-group list-group-flush">
{% for land in recent_lands %}
<div class="list-group-item d-flex justify-content-between align-items-center">
<div>
<h6 class="mb-1">{{ land.gemeinde }} - {{ land.gemarkung }}</h6>
<small class="text-muted">
Flur {{ land.flur }}, Flurstück {{ land.flurstueck }}
({{ land.groesse_qm|floatformat:0 }} qm)
</small>
</div>
<a href="{% url 'stiftung:land_detail' land.pk %}" class="btn btn-sm btn-outline-primary">
<i class="fas fa-eye"></i>
</a>
</div>
{% endfor %}
</div>
<div class="text-center mt-3">
<a href="{% url 'stiftung:land_list' %}" class="btn btn-sm btn-primary">
Alle Ländereien anzeigen
</a>
</div>
{% else %}
<p class="text-muted text-center">Noch keine Ländereien vorhanden.</p>
{% endif %}
</div>
</div>
</div>
<!-- Recent Verpachtungen -->
<div class="col-lg-6 mb-4">
<div class="card shadow">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">
<i class="fas fa-handshake me-2"></i>Neueste Verpachtungen
</h6>
</div>
<div class="card-body">
{% if recent_verpachtungen %}
<div class="list-group list-group-flush">
{% for verpachtung in recent_verpachtungen %}
<div class="list-group-item d-flex justify-content-between align-items-center">
<div>
<h6 class="mb-1">{{ verpachtung.land.gemeinde }}</h6>
<small class="text-muted">
{{ verpachtung.paechter.get_full_name }} -
€{{ verpachtung.pachtzins_jaehrlich|floatformat:0 }}/Jahr
</small>
</div>
<a href="{% url 'stiftung:land_verpachtung_detail' verpachtung.pk %}" class="btn btn-sm btn-outline-primary">
<i class="fas fa-eye"></i>
</a>
</div>
{% endfor %}
</div>
<div class="text-center mt-3">
<a href="{% url 'stiftung:land_list' %}" class="btn btn-sm btn-primary">
Ländereien verwalten
</a>
</div>
{% else %}
<p class="text-muted text-center">Noch keine Verpachtungen vorhanden.</p>
{% endif %}
</div>
</div>
</div>
</div>
<!-- Financial Overview -->
<div class="row">
<div class="col-12">
<div class="card shadow">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">
<i class="fas fa-chart-pie me-2"></i>Finanzübersicht
</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-4 text-center">
<div class="border rounded p-3">
<h4 class="text-success">€{{ total_pachtzins|floatformat:0 }}</h4>
<p class="text-muted mb-0">Jährlicher Pachtzins</p>
</div>
</div>
<div class="col-md-4 text-center">
<div class="border rounded p-3">
<h4 class="text-info">€{{ total_foerderungen|floatformat:0 }}</h4>
<p class="text-muted mb-0">Gesamtförderungen</p>
</div>
</div>
<div class="col-md-4 text-center">
<div class="border rounded p-3">
<h4 class="text-warning">{{ total_verpachtet|floatformat:0 }} qm</h4>
<p class="text-muted mb-0">Verpachtete Fläche</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block extra_js %}
<script>
// Auto-refresh dashboard every 5 minutes
setTimeout(function() {
location.reload();
}, 300000);
</script>
{% endblock %}

View File

@@ -6,7 +6,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<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"><a href="{{ seite.get_absolute_url }}">{{ seite.titel }}</a></li>
<li class="breadcrumb-item active" aria-current="page">Bild löschen</li>

View File

@@ -6,7 +6,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<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"><a href="{{ seite.get_absolute_url }}">{{ seite.titel }}</a></li>
<li class="breadcrumb-item active" aria-current="page">Bild hinzufügen</li>

View File

@@ -39,7 +39,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<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>

View File

@@ -42,7 +42,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<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>
{% if seite %}
<li class="breadcrumb-item"><a href="{{ seite.get_absolute_url }}">{{ seite.titel }}</a></li>

View File

@@ -6,7 +6,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:home' %}">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Geschichte</li>
</ol>
</nav>

View File

@@ -155,7 +155,7 @@
</h6>
<div>
<a href="{% url 'stiftung:home' %}" class="btn btn-outline-secondary btn-sm">
<i class="fas fa-arrow-left me-2"></i>Zurück zum Dashboard
<i class="fas fa-arrow-left me-2"></i>Zurück zur Startseite
</a>
</div>
</div>

View File

@@ -77,7 +77,7 @@
</h6>
<div>
<a href="{% url 'stiftung:home' %}" class="btn btn-outline-secondary btn-sm">
<i class="fas fa-arrow-left me-2"></i>Zurück zum Dashboard
<i class="fas fa-arrow-left me-2"></i>Zurück zur Startseite
</a>
</div>
</div>

View File

@@ -3,7 +3,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:home' %}">Home</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:unterstuetzungen_all' %}">Unterstützungen</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ title }}</li>
</ol>

View File

@@ -4,7 +4,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:home' %}">Home</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:unterstuetzungen_all' %}">Unterstützungen</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ title }}</li>
</ol>

View File

@@ -3,7 +3,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:home' %}">Home</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:unterstuetzungen_all' %}">Unterstützungen</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:unterstuetzung_detail' pk=unterstuetzung.pk %}">Unterstützung Details</a></li>
<li class="breadcrumb-item active" aria-current="page">Als bezahlt markieren</li>

View File

@@ -3,7 +3,7 @@
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{% url 'stiftung:dashboard' %}">Dashboard</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:home' %}">Home</a></li>
<li class="breadcrumb-item"><a href="{% url 'stiftung:unterstuetzungen_all' %}">Unterstützungen</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ title }}</li>
</ol>