acac8695fd6726a91ca4e814b390430d4fb0e503
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
Stiftung Application
A## 🏃♂️ Quick Start
Development Environment
For local development, use the development Docker Compose configuration:
# Start development environment (uses hardcoded dev settings)
docker-compose -f compose.dev.yml up -d
# Run migrations
docker-compose -f compose.dev.yml exec web python manage.py migrate
# Create superuser
docker-compose -f compose.dev.yml exec web python manage.py createsuperuser
# Access applications
# - Django: http://localhost:8081
# - Paperless: http://localhost:8082
# - Database: localhost:5433
Production Deployment
Production deployment uses the main compose.yml and is handled automatically via GitHub Actions. The production environment reads configuration from the server's .env file (not included in the repository for security).
🏗️ Architecturengo-based foundation management system with modern features and automated deployment.
🌟 Features
- Destinatär Management: Track beneficiaries and their support
- Förderung System: Manage grants and funding with enhanced search
- HelpBox System: Editable info boxes with Markdown support on all creation pages
- PDF Exports: Generate comprehensive reports
- Land Management: Track properties and lease agreements
- Backup & Restore: Automated backup system with UI
- User Management: Role-based access control
- Audit Trail: Track all changes
🆕 New Features (v2.0)
- ✅ HelpBox System: Interactive help on all "New" entity creation pages
- ✅ Central HelpBox Management: Admin interface at
/help-box/admin/ - ✅ Enhanced Förderung Search: Improved search functionality
- ✅ Template Cleanup: Automated orphaned recurring payment handling
- ✅ Bootstrap Layout Fixes: Resolved grid alignment issues
🚀 Quick Start
Development Setup
# Clone repository
git clone https://github.com/remmerinio/stiftung-management-system.git
cd stiftung-management-system
# Start development environment (isolated from production)
docker-compose -f compose.dev.yml up -d
# Create superuser
docker-compose -f compose.dev.yml exec web python manage.py createsuperuser
# Access application
open http://localhost:8081 # Django app
open http://localhost:8080 # Paperless-ngx (admin/admin123)
Production Deployment
Production uses automated deployment via GitHub Actions. The production environment has its own .env file with secure credentials that is not stored in Git.
For Production:
- Environment variables are configured on the server
- HTTPS is enabled with Let's Encrypt certificates
- Database users are manually configured for security
- Automated deployments preserve manual configurations
See deployment documentation for complete setup instructions.
📁 Project Structure
stiftung-starter/
├── app/ # Django application
│ ├── core/ # Django project settings
│ ├── stiftung/ # Main app
│ │ ├── models.py # Data models (including HelpBox)
│ │ ├── views.py # Views and API endpoints
│ │ ├── admin.py # Django admin customization
│ │ ├── templatetags/ # Custom template tags (help_tags)
│ │ └── utils/ # Utility functions
│ ├── templates/ # HTML templates
│ │ └── stiftung/
│ │ ├── help_box.html # HelpBox component
│ │ └── *_form.html # Creation forms with help boxes
│ └── requirements.txt # Python dependencies
├── deploy-production/ # Production deployment files
├── deploy-synology/ # Synology NAS deployment (legacy)
└── docs/ # Documentation
🛠️ Development Workflow
1. Feature Development
# Create feature branch
git checkout -b feature/your-feature-name
# Make your changes
# ... edit files ...
# Test locally
docker-compose up -d
# Commit changes
git add .
git commit -m "feat: add your feature description"
# Push to GitHub
git push origin feature/your-feature-name
Description
Languages
HTML
53.4%
Python
44.6%
Shell
1.6%
JavaScript
0.4%