Implement semester-based quarterly tracking system

- 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.
This commit is contained in:
2025-09-30 21:32:12 +02:00
parent ed6a02232e
commit 656af599bb
6 changed files with 140 additions and 144 deletions

View File

@@ -1267,6 +1267,8 @@ def destinataer_detail(request, pk):
jahr__in=[current_year, current_year + 1]
).order_by('-jahr', '-quartal')
# Modal forms removed - only using full-screen editor now
# Generate available years for the add quarter dropdown (current year + next 5 years)
available_years = list(range(current_year, current_year + 6))
@@ -7720,6 +7722,14 @@ def quarterly_confirmation_approve(request, pk):
nachweis.geprueft_am = timezone.now()
nachweis.geprueft_von = request.user
nachweis.save()
# Auto-approve next quarter for semester-based tracking (Q1→Q2, Q3→Q4)
auto_approved_next = nachweis.auto_approve_next_quarter()
if auto_approved_next:
messages.info(
request,
f"Q{auto_approved_next.quartal} wurde automatisch auf Basis der Q{nachweis.quartal}-Nachweise freigegeben."
)
# Handle support payment - create if missing, update if exists
if not related_payment: