Files
stiftung-management-system/compose.dev.yml
Jan Remmer Siebels acac8695fd Enhanced quarterly confirmation system with approval workflow and export improvements
Features added:
-  Fixed quarterly confirmation approval system with URL pattern
-  Added re-approval and status reset functionality for quarterly confirmations
-  Synchronized quarterly approval status with support payment system
-  Enhanced Destinataer export with missing fields (anrede, titel, mobil)
-  Added quarterly confirmation data and documents to export system
-  Fixed address field display issues in destinataer template
-  Added quarterly statistics dashboard to support payment lists
-  Implemented duplicate support payment prevention and cleanup
-  Added visual indicators for quarterly-linked support payments

Technical improvements:
- Enhanced create_quarterly_support_payment() with duplicate detection
- Added get_related_support_payment() method to VierteljahresNachweis model
- Improved quarterly confirmation workflow with proper status transitions
- Added computed address property to Destinataer model
- Fixed template field mismatches (anrede, titel, mobil vs strasse, plz, ort)
- Enhanced backup system with operation tracking and cancellation

Workflow enhancements:
- Quarterly confirmations now properly sync with support payments
- Single support payment per destinataer per quarter (no duplicates)
- Approval button works for both eingereicht and geprueft status
- Reset functionality allows workflow restart
- Export includes complete quarterly data with uploaded documents
2025-09-28 19:09:08 +02:00

89 lines
2.5 KiB
YAML

services:
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: stiftung_dev
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres_dev
volumes:
- dbdata_dev:/var/lib/postgresql/data
ports:
- "5433:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d stiftung_dev"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
ports:
- "6380:6379"
web:
build: ./app
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
environment:
- POSTGRES_DB=stiftung_dev
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres_dev
- DB_HOST=db
- DB_PORT=5432
- DJANGO_SECRET_KEY=dev-secret-key-not-for-production
- DJANGO_DEBUG=1
- DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1
- LANGUAGE_CODE=de
- TIME_ZONE=Europe/Berlin
- REDIS_URL=redis://redis:6379/0
- PAPERLESS_API_URL=http://paperless:8000
- PAPERLESS_API_TOKEN=d477152aca264ea00620910ac09a06f0a4faaecc
- PAPERLESS_REQUIRED_TAG=Stiftung_Destinatäre
- PAPERLESS_LAND_TAG=Stiftung_Land_und_Pächter
- PAPERLESS_ADMIN_TAG=Stiftung_Administration
- PAPERLESS_DESTINATAERE_TAG_ID=1
- PAPERLESS_LAND_TAG_ID=3
- PAPERLESS_ADMIN_TAG_ID=2
ports:
- "8081:8000"
volumes:
- ./app:/app
command: ["python", "manage.py", "runserver", "0.0.0.0:8000"]
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
ports:
- "8082:8000"
environment:
- PAPERLESS_REDIS=redis://redis:6379
- PAPERLESS_DBHOST=db
- PAPERLESS_DBPORT=5432
- PAPERLESS_DBNAME=stiftung_dev
- PAPERLESS_DBUSER=postgres
- PAPERLESS_DBPASS=postgres_dev
- PAPERLESS_SECRET_KEY=dev-paperless-secret-key
- PAPERLESS_URL=http://localhost:8082
- PAPERLESS_ALLOWED_HOSTS=localhost,127.0.0.1
- PAPERLESS_CORS_ALLOWED_HOSTS=http://localhost:8082,http://localhost:8081
- PAPERLESS_ADMIN_USER=admin
- PAPERLESS_ADMIN_PASSWORD=admin123
- PAPERLESS_ADMIN_MAIL=admin@localhost
volumes:
- paperless_data_dev:/usr/src/paperless/data
- paperless_media_dev:/usr/src/paperless/media
- paperless_export_dev:/usr/src/paperless/export
- paperless_consume_dev:/usr/src/paperless/consume
depends_on:
- db
- redis
volumes:
dbdata_dev:
paperless_data_dev:
paperless_media_dev:
paperless_export_dev:
paperless_consume_dev: