- 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>
255 lines
12 KiB
HTML
255 lines
12 KiB
HTML
{% extends 'base.html' %}
|
|
{% load static %}
|
|
|
|
{% block title %}Verpachtung {{ landverpachtung.vertragsnummer }} - Stiftung{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<h1><i class="fas fa-handshake me-2"></i>Verpachtung {{ landverpachtung.vertragsnummer }}</h1>
|
|
<div>
|
|
<a href="{% url 'stiftung:land_verpachtung_update' landverpachtung.pk %}" class="btn btn-warning">
|
|
<i class="fas fa-edit me-1"></i>Bearbeiten
|
|
</a>
|
|
{% if landverpachtung.status == 'aktiv' %}
|
|
<a href="{% url 'stiftung:land_verpachtung_end_direct' landverpachtung.pk %}" class="btn btn-danger">
|
|
<i class="fas fa-stop me-1"></i>Beenden
|
|
</a>
|
|
{% endif %}
|
|
<a href="{% url 'stiftung:land_detail' landverpachtung.land.pk %}" class="btn btn-secondary">
|
|
<i class="fas fa-arrow-left me-1"></i>Zur Länderei
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<!-- Grunddaten -->
|
|
<div class="col-md-6">
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="fas fa-info-circle me-2"></i>Grunddaten</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Vertragsnummer:</strong></div>
|
|
<div class="col-sm-8">{{ landverpachtung.vertragsnummer }}</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Status:</strong></div>
|
|
<div class="col-sm-8">
|
|
{% if landverpachtung.status == 'aktiv' %}
|
|
<span class="badge bg-success">{{ landverpachtung.get_status_display }}</span>
|
|
{% elif landverpachtung.status == 'beendet' %}
|
|
<span class="badge bg-secondary">{{ landverpachtung.get_status_display }}</span>
|
|
{% else %}
|
|
<span class="badge bg-warning">{{ landverpachtung.get_status_display }}</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Länderei:</strong></div>
|
|
<div class="col-sm-8">
|
|
<a href="{% url 'stiftung:land_detail' landverpachtung.land.pk %}">
|
|
{{ landverpachtung.land.gemarkung }} - {{ landverpachtung.land.gemeinde }},
|
|
Flur {{ landverpachtung.land.flur }}, Flurstück {{ landverpachtung.land.flurstueck|default:"N/A" }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Pächter:</strong></div>
|
|
<div class="col-sm-8">
|
|
<a href="{% url 'stiftung:paechter_detail' landverpachtung.paechter.pk %}">
|
|
{{ landverpachtung.paechter.get_full_name }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Verpachtete Fläche:</strong></div>
|
|
<div class="col-sm-8">{{ landverpachtung.verpachtete_flaeche|floatformat:0 }} m² ({{ landverpachtung.verpachtete_flaeche_hektar }} ha)</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Vertragsdaten -->
|
|
<div class="col-md-6">
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="fas fa-calendar-alt me-2"></i>Vertragsdaten</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Pachtbeginn:</strong></div>
|
|
<div class="col-sm-8">{{ landverpachtung.pachtbeginn|date:"d.m.Y" }}</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Pachtende:</strong></div>
|
|
<div class="col-sm-8">{{ landverpachtung.pachtende|date:"d.m.Y"|default:"Unbefristet" }}</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Verlängerung:</strong></div>
|
|
<div class="col-sm-8">
|
|
{% if landverpachtung.verlaengerung_klausel %}
|
|
<i class="fas fa-check text-success me-1"></i>Automatische Verlängerung
|
|
{% else %}
|
|
<i class="fas fa-times text-danger me-1"></i>Keine automatische Verlängerung
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<!-- Finanzielle Daten -->
|
|
<div class="col-md-6">
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="fas fa-euro-sign me-2"></i>Finanzielle Daten</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Pachtzins pauschal:</strong></div>
|
|
<div class="col-sm-8">{{ landverpachtung.pachtzins_pauschal|floatformat:2 }} € / Jahr</div>
|
|
</div>
|
|
{% if landverpachtung.pachtzins_pro_ha %}
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Pachtzins pro ha:</strong></div>
|
|
<div class="col-sm-8">{{ landverpachtung.pachtzins_pro_ha|floatformat:2 }} € / ha</div>
|
|
</div>
|
|
{% endif %}
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>Zahlungsweise:</strong></div>
|
|
<div class="col-sm-8">{{ landverpachtung.get_zahlungsweise_display }}</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-4"><strong>USt-Option:</strong></div>
|
|
<div class="col-sm-8">
|
|
{% if landverpachtung.ust_option %}
|
|
<i class="fas fa-check text-success me-1"></i>Ja ({{ landverpachtung.ust_satz }}%)
|
|
{% else %}
|
|
<i class="fas fa-times text-danger me-1"></i>Nein
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Umlagen -->
|
|
<div class="col-md-6">
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="fas fa-calculator me-2"></i>Umlagen</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row mb-2">
|
|
<div class="col-sm-6"><strong>Grundsteuer:</strong></div>
|
|
<div class="col-sm-6">
|
|
{% if landverpachtung.grundsteuer_umlage %}
|
|
<i class="fas fa-check text-success me-1"></i>Umlagefähig
|
|
{% else %}
|
|
<i class="fas fa-times text-danger me-1"></i>Nicht umlagefähig
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-6"><strong>Versicherungen:</strong></div>
|
|
<div class="col-sm-6">
|
|
{% if landverpachtung.versicherungen_umlage %}
|
|
<i class="fas fa-check text-success me-1"></i>Umlagefähig
|
|
{% else %}
|
|
<i class="fas fa-times text-danger me-1"></i>Nicht umlagefähig
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-6"><strong>Verbandsbeiträge:</strong></div>
|
|
<div class="col-sm-6">
|
|
{% if landverpachtung.verbandsbeitraege_umlage %}
|
|
<i class="fas fa-check text-success me-1"></i>Umlagefähig
|
|
{% else %}
|
|
<i class="fas fa-times text-danger me-1"></i>Nicht umlagefähig
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-sm-6"><strong>Jagdpachtanteile:</strong></div>
|
|
<div class="col-sm-6">
|
|
{% if landverpachtung.jagdpacht_anteil_umlage %}
|
|
<i class="fas fa-check text-success me-1"></i>Umlagefähig
|
|
{% else %}
|
|
<i class="fas fa-times text-danger me-1"></i>Nicht umlagefähig
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Dokumente (DMS) -->
|
|
<div class="card mb-4">
|
|
<div class="card-header d-flex justify-content-between align-items-center">
|
|
<h5 class="mb-0"><i class="fas fa-folder-open me-2"></i>Dokumente</h5>
|
|
<a href="{% url 'stiftung:dms_upload' %}?verpachtung={{ landverpachtung.pk }}" class="btn btn-sm btn-outline-primary">
|
|
<i class="fas fa-upload me-1"></i>Dokument hochladen
|
|
</a>
|
|
</div>
|
|
<div class="card-body">
|
|
{% if verknuepfte_dokumente %}
|
|
<div class="table-responsive">
|
|
<table class="table table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>Titel</th>
|
|
<th>Kontext</th>
|
|
<th>Aktionen</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for doc in verknuepfte_dokumente %}
|
|
<tr>
|
|
<td>
|
|
<strong>{{ doc.titel|default:"Ohne Titel" }}</strong>
|
|
{% if doc.dateiname_original %}<br><small class="text-muted">{{ doc.dateiname_original }} ({{ doc.get_human_size }})</small>{% endif %}
|
|
</td>
|
|
<td>{{ doc.get_kontext_display }}</td>
|
|
<td>
|
|
<div class="btn-group" role="group">
|
|
<a href="{% url 'stiftung:dms_download' doc.pk %}" class="btn btn-sm btn-outline-primary" title="Herunterladen">
|
|
<i class="fas fa-download"></i>
|
|
</a>
|
|
<a href="{% url 'stiftung:dms_edit' doc.pk %}" class="btn btn-sm btn-outline-warning" title="Bearbeiten">
|
|
<i class="fas fa-edit"></i>
|
|
</a>
|
|
<a href="{% url 'stiftung:dms_delete' doc.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 %}
|
|
<p class="text-muted">Keine Dokumente vorhanden.</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Bemerkungen -->
|
|
{% if landverpachtung.bemerkungen %}
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="fas fa-sticky-note me-2"></i>Bemerkungen</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="mb-0">{{ landverpachtung.bemerkungen|linebreaks }}</p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% endblock %}
|