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//", views.destinataer_detail, name="destinataer_detail" ), path("destinataere/neu/", views.destinataer_create, name="destinataer_create"), path( "destinataere//bearbeiten/", views.destinataer_update, name="destinataer_update", ), path( "destinataere//loeschen/", views.destinataer_delete, name="destinataer_delete", ), path( "destinataere//notiz/", views.destinataer_notiz_create, name="destinataer_notiz_create", ), path( "destinataere//export/", views.destinataer_export, name="destinataer_export", ), # Paechter URLs (Landpächter) path("paechter/", views.paechter_list, name="paechter_list"), path("paechter//", views.paechter_detail, name="paechter_detail"), path("paechter/neu/", views.paechter_create, name="paechter_create"), path( "paechter//bearbeiten/", views.paechter_update, name="paechter_update" ), path("paechter//loeschen/", views.paechter_delete, name="paechter_delete"), path("paechter//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//", views.land_detail, name="land_detail"), path("laendereien/neu/", views.land_create, name="land_create"), path("laendereien//bearbeiten/", views.land_update, name="land_update"), path("laendereien//loeschen/", views.land_delete, name="land_delete"), path("laendereien//export/", views.land_export, name="land_export"), # Landabrechnung URLs path("landabrechnungen/", views.land_abrechnung_list, name="land_abrechnung_list"), path( "landabrechnungen//", views.land_abrechnung_detail, name="land_abrechnung_detail", ), path( "landabrechnungen/neu/", views.land_abrechnung_create, name="land_abrechnung_create", ), path( "landabrechnungen//bearbeiten/", views.land_abrechnung_update, name="land_abrechnung_update", ), path( "landabrechnungen//loeschen/", views.land_abrechnung_delete, name="land_abrechnung_delete", ), # Vereinheitlichte Verpachtung URLs (direkt im Land) path( "laendereien//verpachtung/neu/", views.land_verpachtung_create, name="land_verpachtung_create", ), path( "laendereien//verpachtung/bearbeiten/", views.land_verpachtung_edit, name="land_verpachtung_edit", ), path( "laendereien//verpachtung/beenden/", views.land_verpachtung_end, name="land_verpachtung_end", ), # LandVerpachtung URLs (neue Verpachtungen) path( "laendereien/verpachtungen//", views.land_verpachtung_detail, name="land_verpachtung_detail", ), path( "laendereien/verpachtungen//bearbeiten/", views.land_verpachtung_update, name="land_verpachtung_update", ), path( "laendereien/verpachtungen//beenden/", views.land_verpachtung_end_direct, name="land_verpachtung_end_direct", ), # Verpachtung URLs (Management Overview) path("verpachtungen/", views.verpachtung_list, name="verpachtung_list"), path("verpachtungen//", views.verpachtung_detail, name="verpachtung_detail"), path("verpachtungen/neu/", views.verpachtung_create, name="verpachtung_create"), path( "verpachtungen//bearbeiten/", views.verpachtung_update, name="verpachtung_update", ), path( "verpachtungen//loeschen/", views.verpachtung_delete, name="verpachtung_delete", ), # Förderung URLs path("foerderungen/", views.foerderung_list, name="foerderung_list"), path("foerderungen//", views.foerderung_detail, name="foerderung_detail"), path("foerderungen/neu/", views.foerderung_create, name="foerderung_create"), path( "foerderungen//bearbeiten/", views.foerderung_update, name="foerderung_update", ), path( "foerderungen//loeschen/", views.foerderung_delete, name="foerderung_delete", ), # Dokumente URLs path("dokumente/", views.dokument_list, name="dokument_list"), path("dokumente//", views.dokument_detail, name="dokument_detail"), path("dokumente/neu/", views.dokument_create, name="dokument_create"), path( "dokumente//bearbeiten/", views.dokument_update, name="dokument_update" ), path( "dokumente//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//", 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//", views.jahresbericht_generate, name="jahresbericht_generate", ), path( "berichte/jahresbericht//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//", views.konto_detail, name="konto_detail" ), path( "geschaeftsfuehrung/konten//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//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//", views.rentmeister_detail, name="rentmeister_detail", ), path( "geschaeftsfuehrung/rentmeister//bearbeiten/", views.rentmeister_edit, name="rentmeister_edit", ), path( "geschaeftsfuehrung/rentmeister//ausgaben/", views.rentmeister_ausgaben, name="rentmeister_ausgaben", ), # Administration URLs path("administration/", views.administration, name="administration"), path("administration/settings/", views.app_settings, name="app_settings"), path("administration/audit-log/", views.audit_log_list, name="audit_log_list"), path("administration/backup/", views.backup_management, name="backup_management"), path( "administration/backup//download/", views.backup_download, name="backup_download", ), path("administration/backup/restore/", views.backup_restore, name="backup_restore"), path( "administration/backup//cancel/", views.backup_cancel, name="backup_cancel", ), path( "administration/unterstuetzungen/", views.unterstuetzungen_list, name="unterstuetzungen_list", ), path( "administration/unterstuetzungen//bearbeiten/", views.unterstuetzung_edit, name="unterstuetzung_edit", ), path( "administration/unterstuetzungen//loeschen/", views.unterstuetzung_delete, name="unterstuetzung_delete", ), # Unterstützungen URLs (direct access from Destinataer) path("unterstuetzungen/", views.unterstuetzungen_all, name="unterstuetzungen_all"), path( "unterstuetzungen/neu/", views.unterstuetzung_create, name="unterstuetzung_create", ), path( "unterstuetzungen//", views.unterstuetzung_detail, name="unterstuetzung_detail", ), path( "unterstuetzungen//bezahlt/", views.unterstuetzung_mark_paid, name="unterstuetzung_mark_paid", ), path( "unterstuetzungen/wiederkehrend/", views.wiederkehrende_unterstuetzungen, name="wiederkehrende_unterstuetzungen", ), # AJAX endpoints path( "api/destinataer//info/", views.get_destinataer_info, name="get_destinataer_info", ), # 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//", views.user_detail, name="user_detail"), path("administration/users//edit/", views.user_edit, name="user_edit"), path( "administration/users//password/", views.user_change_password, name="user_change_password", ), path( "administration/users//permissions/", views.user_permissions, name="user_permissions", ), path( "administration/users//delete/", views.user_delete, name="user_delete" ), # Two-Factor Authentication URLs path("auth/2fa/setup/", views.two_factor_setup, name="two_factor_setup"), path("auth/2fa/qr/", views.two_factor_qr, name="two_factor_qr"), path("auth/2fa/verify/", views.two_factor_verify, name="two_factor_verify"), path("auth/2fa/disable/", views.two_factor_disable, name="two_factor_disable"), path("auth/2fa/backup-tokens/", views.backup_tokens, name="backup_tokens"), # Hilfsbox URLs path("help-box/edit/", views.edit_help_box, name="edit_help_box"), path("help-box/admin/", views.edit_help_box, name="help_boxes_admin"), # 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//", 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"), # Quarterly Confirmations path( "quarterly-confirmations/create//", views.quarterly_confirmation_create, name="quarterly_confirmation_create", ), path( "quarterly-confirmations//edit/", views.quarterly_confirmation_edit, name="quarterly_confirmation_edit", ), path( "quarterly-confirmations//update/", views.quarterly_confirmation_update, name="quarterly_confirmation_update", ), path( "quarterly-confirmations//approve/", views.quarterly_confirmation_approve, name="quarterly_confirmation_approve", ), path( "quarterly-confirmations//reset/", views.quarterly_confirmation_reset, name="quarterly_confirmation_reset", ), # Geschichte URLs path("geschichte/", views.geschichte_list, name="geschichte_list"), path("geschichte/neu/", views.geschichte_create, name="geschichte_create"), path("geschichte//", views.geschichte_detail, name="geschichte_detail"), path("geschichte//bearbeiten/", views.geschichte_edit, name="geschichte_edit"), path("geschichte//bild-upload/", views.geschichte_bild_upload, name="geschichte_bild_upload"), ]