Files
stiftung-management-system/app/stiftung/urls.py
2025-09-06 18:31:54 +02:00

149 lines
9.6 KiB
Python

from django.urls import path
from . import views
app_name = 'stiftung'
urlpatterns = [
# Dashboard (Startseite)
path('', views.dashboard, name='dashboard'),
# Home (für Kompatibilität mit bestehenden Templates)
path('home/', views.home, name='home'),
# CSV Import URLs
path('import/', views.csv_import_list, name='csv_import_list'),
path('import/neu/', views.csv_import_create, name='csv_import_create'),
# Destinatär URLs (Förderungsempfänger)
path('destinataere/', views.destinataer_list, name='destinataer_list'),
path('destinataere/<uuid:pk>/', views.destinataer_detail, name='destinataer_detail'),
path('destinataere/neu/', views.destinataer_create, name='destinataer_create'),
path('destinataere/<uuid:pk>/bearbeiten/', views.destinataer_update, name='destinataer_update'),
path('destinataere/<uuid:pk>/loeschen/', views.destinataer_delete, name='destinataer_delete'),
path('destinataere/<uuid:pk>/notiz/', views.destinataer_notiz_create, name='destinataer_notiz_create'),
path('destinataere/<uuid:pk>/export/', views.destinataer_export, name='destinataer_export'),
# Paechter URLs (Landpächter)
path('paechter/', views.paechter_list, name='paechter_list'),
path('paechter/<uuid:pk>/', views.paechter_detail, name='paechter_detail'),
path('paechter/neu/', views.paechter_create, name='paechter_create'),
path('paechter/<uuid:pk>/bearbeiten/', views.paechter_update, name='paechter_update'),
path('paechter/<uuid:pk>/loeschen/', views.paechter_delete, name='paechter_delete'),
path('paechter/<uuid:pk>/export/', views.paechter_export, name='paechter_export'),
# Legacy Person URLs removed (Destinatäre ersetzen Personen)
# Land URLs
path('laendereien/', views.land_list, name='land_list'),
path('laendereien/<uuid:pk>/', views.land_detail, name='land_detail'),
path('laendereien/neu/', views.land_create, name='land_create'),
path('laendereien/<uuid:pk>/bearbeiten/', views.land_update, name='land_update'),
path('laendereien/<uuid:pk>/loeschen/', views.land_delete, name='land_delete'),
path('laendereien/<uuid:pk>/export/', views.land_export, name='land_export'),
# Landabrechnung URLs
path('landabrechnungen/', views.land_abrechnung_list, name='land_abrechnung_list'),
path('landabrechnungen/<uuid:pk>/', views.land_abrechnung_detail, name='land_abrechnung_detail'),
path('landabrechnungen/neu/', views.land_abrechnung_create, name='land_abrechnung_create'),
path('landabrechnungen/<uuid:pk>/bearbeiten/', views.land_abrechnung_update, name='land_abrechnung_update'),
path('landabrechnungen/<uuid:pk>/loeschen/', views.land_abrechnung_delete, name='land_abrechnung_delete'),
# Vereinheitlichte Verpachtung URLs (direkt im Land)
path('laendereien/<uuid:land_pk>/verpachtung/neu/', views.land_verpachtung_create, name='land_verpachtung_create'),
path('laendereien/<uuid:land_pk>/verpachtung/bearbeiten/', views.land_verpachtung_edit, name='land_verpachtung_edit'),
path('laendereien/<uuid:land_pk>/verpachtung/beenden/', views.land_verpachtung_end, name='land_verpachtung_end'),
# Verpachtung URLs
path('verpachtungen/', views.verpachtung_list, name='verpachtung_list'),
path('verpachtungen/<uuid:pk>/', views.verpachtung_detail, name='verpachtung_detail'),
path('verpachtungen/neu/', views.verpachtung_create, name='verpachtung_create'),
path('verpachtungen/<uuid:pk>/bearbeiten/', views.verpachtung_update, name='verpachtung_update'),
path('verpachtungen/<uuid:pk>/loeschen/', views.verpachtung_delete, name='verpachtung_delete'),
path('verpachtungen/<uuid:pk>/export/', views.verpachtung_export, name='verpachtung_export'),
# Förderung URLs
path('foerderungen/', views.foerderung_list, name='foerderung_list'),
path('foerderungen/<uuid:pk>/', views.foerderung_detail, name='foerderung_detail'),
path('foerderungen/neu/', views.foerderung_create, name='foerderung_create'),
path('foerderungen/<uuid:pk>/bearbeiten/', views.foerderung_update, name='foerderung_update'),
path('foerderungen/<uuid:pk>/loeschen/', views.foerderung_delete, name='foerderung_delete'),
# Dokumente URLs
path('dokumente/', views.dokument_list, name='dokument_list'),
path('dokumente/<uuid:pk>/', views.dokument_detail, name='dokument_detail'),
path('dokumente/neu/', views.dokument_create, name='dokument_create'),
path('dokumente/<uuid:pk>/bearbeiten/', views.dokument_update, name='dokument_update'),
path('dokumente/<uuid:pk>/loeschen/', views.dokument_delete, name='dokument_delete'),
# Dokumentenverwaltung (Paperless-Integration, Verwaltung & Verknüpfung)
path('dokumente/verwaltung/', views.dokument_management, name='dokument_management'),
# Legacy document URLs removed - use dokument_management instead
# Dokument-Verknüpfung
path('api/link-document/search/', views.link_document_search, name='link_document_search'),
path('api/link-document/create/', views.link_document_create, name='link_document_create'),
path('api/link-document/list/', views.link_document_list, name='link_document_list'),
path('api/link-document/update/', views.link_document_update, name='link_document_update'),
path('api/link-document/delete/<uuid:link_id>/', views.link_document_delete, name='link_document_delete'),
# Legacy dokument_verknuepfung URL removed - use dokument_management instead
# Jahresbericht URLs
path('berichte/', views.bericht_list, name='bericht_list'),
path('berichte/jahresbericht/', views.jahresbericht_generate_redirect, name='jahresbericht_generate_redirect'),
path('berichte/jahresbericht/<int:jahr>/', views.jahresbericht_generate, name='jahresbericht_generate'),
path('berichte/jahresbericht/<int:jahr>/pdf/', views.jahresbericht_pdf, name='jahresbericht_pdf'),
# Geschäftsführung URLs
path('geschaeftsfuehrung/', views.geschaeftsfuehrung, name='geschaeftsfuehrung'),
path('geschaeftsfuehrung/konten/', views.konto_list, name='konto_list'),
path('geschaeftsfuehrung/konten/neu/', views.konto_create, name='konto_create'),
path('geschaeftsfuehrung/konten/<uuid:pk>/', views.konto_detail, name='konto_detail'),
path('geschaeftsfuehrung/konten/<uuid:pk>/bearbeiten/', views.konto_edit, name='konto_edit'),
path('geschaeftsfuehrung/verwaltungskosten/', views.verwaltungskosten_list, name='verwaltungskosten_list'),
path('geschaeftsfuehrung/verwaltungskosten/neu/', views.verwaltungskosten_create, name='verwaltungskosten_create'),
path('geschaeftsfuehrung/verwaltungskosten/<uuid:pk>/bearbeiten/', views.verwaltungskosten_edit, name='verwaltungskosten_edit'),
path('verwaltungskosten/mark-paid/', views.mark_expense_paid, name='mark_expense_paid'),
path('geschaeftsfuehrung/rentmeister/', views.rentmeister_list, name='rentmeister_list'),
path('geschaeftsfuehrung/rentmeister/neu/', views.rentmeister_create, name='rentmeister_create'),
path('geschaeftsfuehrung/rentmeister/<uuid:pk>/', views.rentmeister_detail, name='rentmeister_detail'),
path('geschaeftsfuehrung/rentmeister/<uuid:pk>/bearbeiten/', views.rentmeister_edit, name='rentmeister_edit'),
path('geschaeftsfuehrung/rentmeister/<uuid:pk>/ausgaben/', views.rentmeister_ausgaben, name='rentmeister_ausgaben'),
# Administration URLs
path('administration/', views.administration, name='administration'),
path('administration/audit-log/', views.audit_log_list, name='audit_log_list'),
path('administration/backup/', views.backup_management, name='backup_management'),
path('administration/backup/<uuid:backup_id>/download/', views.backup_download, name='backup_download'),
path('administration/backup/restore/', views.backup_restore, name='backup_restore'),
path('administration/unterstuetzungen/', views.unterstuetzungen_list, name='unterstuetzungen_list'),
path('administration/unterstuetzungen/<uuid:pk>/bearbeiten/', views.unterstuetzung_edit, name='unterstuetzung_edit'),
path('administration/unterstuetzungen/<uuid:pk>/loeschen/', views.unterstuetzung_delete, name='unterstuetzung_delete'),
# Authentication URLs
path('login/', views.user_login, name='login'),
path('logout/', views.user_logout, name='logout'),
# User Management URLs
path('administration/users/', views.user_management, name='user_management'),
path('administration/users/create/', views.user_create, name='user_create'),
path('administration/users/<int:pk>/', views.user_detail, name='user_detail'),
path('administration/users/<int:pk>/edit/', views.user_edit, name='user_edit'),
path('administration/users/<int:pk>/password/', views.user_change_password, name='user_change_password'),
path('administration/users/<int:pk>/permissions/', views.user_permissions, name='user_permissions'),
path('administration/users/<int:pk>/delete/', views.user_delete, name='user_delete'),
# API URLs
path('api/land-stats/', views.land_stats_api, name='land_stats_api'),
path('api/health/', views.health_check, name='health_check'),
path('api/paperless/ping/', views.paperless_ping, name='paperless_ping'),
path('api/paperless/documents/', views.paperless_documents, name='paperless_documents'),
path('api/paperless/tags/', views.paperless_tags_only, name='paperless_tags_only'),
path('api/paperless/debug/', views.paperless_debug, name='paperless_debug'),
path('api/paperless/documents/<int:doc_id>/', views.paperless_document_redirect, name='paperless_document_redirect'),
# Gramps integration (probe)
path('api/gramps/search/', views.gramps_search_api, name='gramps_search_api'),
path('api/gramps/debug/', views.gramps_debug_api, name='gramps_debug_api'),
]