Files
stiftung-management-system/app/templates/stiftung/foerderung_detail.html
SysAdmin Agent e6f4c5ba1b Generalize email system with invoice workflow and Stiftungsgeschichte category
- Rename DestinataerEmailEingang → EmailEingang with category support
  (destinataer, rechnung, land_pacht, stiftungsgeschichte, allgemein)
- Add invoice capture workflow: create Verwaltungskosten from email,
  link DMS documents as invoice attachments, track payment status
- Add Stiftungsgeschichte email category with auto-detection patterns
  (Ahnenforschung, Genealogie, Chronik, etc.) and DMS integration
- Update poll_emails task with category detection and DMS context mapping
- Show available history documents in Geschichte editor sidebar
- Consolidate DMS views, remove legacy dokument templates
- Update all detail/form templates for DMS document linking
- Add deploy.sh script and streamline compose.yml

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

173 lines
9.6 KiB
HTML

{% extends 'base.html' %}
{% load static %}
{% block title %}{{ title }} - Stiftungsverwaltung{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-8 mx-auto">
<div class="card shadow">
<div class="card-header d-flex justify-content-between align-items-center">
<h4 class="mb-0">
<i class="fas fa-gift text-primary me-2"></i>Förderung Details
</h4>
<div class="btn-group" role="group">
<a href="{% url 'stiftung:foerderung_update' foerderung.pk %}" class="btn btn-warning">
<i class="fas fa-edit me-1"></i>Bearbeiten
</a>
<a href="{% url 'stiftung:foerderung_delete' foerderung.pk %}" class="btn btn-danger">
<i class="fas fa-trash me-1"></i>Löschen
</a>
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<h6 class="text-primary">Person</h6>
<p class="mb-3">
{% if foerderung.destinataer %}
<a href="{% url 'stiftung:destinataer_detail' foerderung.destinataer.pk %}">
{{ foerderung.destinataer.get_full_name }}
</a>
{% else %}
<em class="text-muted">Keine Person zugeordnet</em>
{% endif %}
</p>
<h6 class="text-primary">Jahr</h6>
<p class="mb-3">{{ foerderung.jahr }}</p>
<h6 class="text-primary">Betrag</h6>
<p class="mb-3">€{{ foerderung.betrag|floatformat:2 }}</p>
</div>
<div class="col-md-6">
<h6 class="text-primary">Kategorie</h6>
<p class="mb-3">
<span class="badge bg-secondary">{{ foerderung.get_kategorie_display }}</span>
</p>
<h6 class="text-primary">Status</h6>
<p class="mb-3">
<span class="badge bg-{{ foerderung.get_status_color }}">{{ foerderung.get_status_display }}</span>
</p>
<h6 class="text-primary">Antragsdatum</h6>
<p class="mb-3">{{ foerderung.antragsdatum|date:"d.m.Y" }}</p>
</div>
</div>
{% if foerderung.entscheidungsdatum %}
<div class="row">
<div class="col-md-6">
<h6 class="text-primary">Entscheidungsdatum</h6>
<p class="mb-3">{{ foerderung.entscheidungsdatum|date:"d.m.Y" }}</p>
</div>
</div>
{% endif %}
{% if foerderung.verwendungsnachweis %}
<div class="row">
<div class="col-12">
<h6 class="text-primary">Verwendungsnachweis</h6>
<p class="mb-3">
{{ foerderung.verwendungsnachweis.titel }}
</p>
</div>
</div>
{% endif %}
<!-- Dokumente (DMS) -->
<div class="row">
<div class="col-12">
<div class="d-flex justify-content-between align-items-center mb-2">
<h6 class="text-primary mb-0">Dokumente</h6>
<a href="{% url 'stiftung:dms_upload' %}?foerderung={{ foerderung.pk }}" class="btn btn-sm btn-success">
<i class="fas fa-upload me-1"></i>Dokument hochladen
</a>
</div>
{% if verknuepfte_dokumente %}
<div class="table-responsive">
<table class="table table-sm table-hover">
<thead class="table-light">
<tr>
<th>Dokument</th>
<th>Kontext</th>
<th>Beschreibung</th>
<th>Aktionen</th>
</tr>
</thead>
<tbody>
{% for dokument in verknuepfte_dokumente %}
<tr>
<td>
<strong>{{ dokument.titel }}</strong>
{% if dokument.dateiname_original %}<br><small class="text-muted">{{ dokument.dateiname_original }} ({{ dokument.get_human_size }})</small>{% endif %}
</td>
<td>
<span class="badge bg-secondary">{{ dokument.get_kontext_display }}</span>
</td>
<td>
{% if dokument.beschreibung %}
{{ dokument.beschreibung|truncatewords:8 }}
{% else %}
<span class="text-muted">Keine Beschreibung</span>
{% endif %}
</td>
<td>
<div class="btn-group" role="group">
<a href="{% url 'stiftung:dms_download' dokument.pk %}" class="btn btn-sm btn-outline-primary" title="Herunterladen">
<i class="fas fa-download"></i>
</a>
<a href="{% url 'stiftung:dms_edit' dokument.pk %}" class="btn btn-sm btn-outline-warning" title="Bearbeiten">
<i class="fas fa-edit"></i>
</a>
<a href="{% url 'stiftung:dms_delete' dokument.pk %}" class="btn btn-sm btn-outline-danger" title="Löschen">
<i class="fas fa-trash"></i>
</a>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="text-center py-3">
<i class="fas fa-file-alt fa-2x text-muted mb-2"></i>
<p class="text-muted mb-2">Keine Dokumente vorhanden</p>
<a href="{% url 'stiftung:dms_upload' %}?foerderung={{ foerderung.pk }}" class="btn btn-success btn-sm">
<i class="fas fa-upload me-1"></i>Erstes Dokument hochladen
</a>
</div>
{% endif %}
</div>
</div>
{% if foerderung.bemerkungen %}
<div class="row">
<div class="col-12">
<h6 class="text-primary">Bemerkungen</h6>
<p class="mb-3">{{ foerderung.bemerkungen }}</p>
</div>
</div>
{% endif %}
<hr class="my-4">
<div class="d-flex justify-content-between">
<a href="{% url 'stiftung:foerderung_list' %}" class="btn btn-secondary">
<i class="fas fa-arrow-left me-2"></i>Zurück zur Liste
</a>
<a href="{% url 'stiftung:foerderung_update' foerderung.pk %}" class="btn btn-primary">
<i class="fas fa-edit me-2"></i>Bearbeiten
</a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}