Files
training-software/reports/urls.py
Paperclip CTO a27663e6fc
Some checks failed
CI / Tests (Python 3.12) (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / OpenAPI Schema (push) Has been cancelled
feat(TRA-244): Reporting and CSV export for completion, progress, and quiz attempts
- CompletionReportView + CSV: enrollment-level completion status, filterable
  by course_id, org_id, date_from, date_to
- ProgressReportView + CSV: page-level dwell-time aggregates, same filters
- AttemptReportView + CSV: quiz attempt scores, pass/fail, timestamps; org
  filter joins through Enrollment.org_id; course filter traverses
  quiz -> page -> lesson -> module -> course
- Streaming CSV responses with _EchoWriter to avoid buffering large exports
- pytest test suite covering filters, aggregation accuracy, and CSV format

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 09:31:31 +02:00

22 lines
712 B
Python

from django.urls import path
from .views import (
AttemptReportCSVView,
AttemptReportView,
CompletionReportCSVView,
CompletionReportView,
ProgressReportCSVView,
ProgressReportView,
)
app_name = "reports"
urlpatterns = [
path("completion/", CompletionReportView.as_view(), name="completion"),
path("completion/csv/", CompletionReportCSVView.as_view(), name="completion-csv"),
path("progress/", ProgressReportView.as_view(), name="progress"),
path("progress/csv/", ProgressReportCSVView.as_view(), name="progress-csv"),
path("attempts/", AttemptReportView.as_view(), name="attempts"),
path("attempts/csv/", AttemptReportCSVView.as_view(), name="attempts-csv"),
]