- Update quarterly confirmation deadlines to semester-based schedule:
- Q1: March 15 (covers Spring semester Q1+Q2)
- Q2: June 15 (auto-approved when Q1 approved)
- Q3: September 15 (covers Fall semester Q3+Q4)
- Q4: December 15 (auto-approved when Q3 approved)
- Add auto-approval functionality:
- Q1 approval automatically approves Q2 with same document status
- Q3 approval automatically approves Q4 with same document status
- New 'auto_geprueft' status with distinct badge UI
- Maintain quarterly payment cycle while simplifying document submissions
- Remove modal edit functionality, keep full-screen editor only
- Update copilot instructions documentation
Changes align with academic semester system where students submit
documents twice yearly instead of quarterly.
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
- Add VierteljahresNachweis model for quarterly document tracking
- Remove studiennachweis_erforderlich field (now always required)
- Fix modal edit view to include studiennachweis section
- Implement automatic DestinataerUnterstuetzung creation when requirements met
- Set payment due dates to exact quarter end dates (Mar 31, Jun 30, Sep 30, Dec 31)
- Add quarterly confirmation CRUD views with modal and full-screen editing
- Update templates with comprehensive quarterly management interface
- Include proper validation, status tracking, and progress indicators
- Add inline edit mode to destinataer detail view with AJAX save/cancel
- Fix form validation by aligning select choices with model definitions
- Update Destinataer model to make familienzweig and berufsgruppe optional
- Fix StiftungsKonto integration in forms and views
- Redesign destinataer list view with new column layout:
* Vorname, Nachname, E-Mail, Vierteljährlicher Betrag
* Letzter Studiennachweis, Unterstützung bestätigt, Aktionen
- Improve form styling and user experience
- Add proper field validation and error handling
- Enhance UI with better badges, icons, and formatting
- Apply Black formatting to all Python files in core and stiftung modules
- Fix import statement ordering with isort
- Ensure all code meets automated quality standards
- Resolve CI/CD pipeline formatting failures
- Maintain consistent code style across the entire codebase
- Fix undefined variable 'e' in PDF generator error handling
- Replace undefined 'Verpachtung' model references with 'LandVerpachtung'
- Fix all import and object access references to use correct model name
- Resolve all flake8 F821 undefined name errors
This addresses all code quality failures that were blocking CI pipeline.
- Add dotenv loading to Django settings
- Update CI workflow to use correct environment variables
- Set POSTGRES_* variables instead of DATABASE_URL
- Add environment variables to all Django management commands
- Fixes CI test failures due to database connection issues