feat: QA fixes, new APIs (assignments, rubrics, custom exams), Generation page enhancements
- Fix ELAI video generation (correct render endpoint, script splitting for 60s limit) - Fix speaking script generation error handling and empty response display - Add custom exam list API (GET /api/exam/custom/list) - Add assignments REST API (list, create, get) - Add rubrics REST API (list, create) - Enhance Generation page: dynamic exam structures, auto-module selection, preview dialog, audio player - Improve submit feedback with exam ID and status in toast notifications - Fix ExamsListPage to show both custom exams and exam sessions - Connect RubricsPage to backend API with fallback data - Add Dockerfile, docker-compose.yml, requirements.txt for deployment - Fix placement, grading, scoring, and auth controllers - Add ErrorBoundary component for frontend resilience - Add QA report and credentials documentation Made-with: Cursor
This commit is contained in:
@@ -71,9 +71,9 @@ class PdfGenerator:
|
||||
score_header = ['Skill', 'Band Score']
|
||||
score_rows = [score_header]
|
||||
for score in scores:
|
||||
skill_name = getattr(score, 'skill_name', '') or getattr(score, 'name', 'N/A')
|
||||
band = getattr(score, 'band_score', '') or getattr(score, 'score', 'N/A')
|
||||
score_rows.append([str(skill_name), str(band)])
|
||||
skill_name = score.skill or 'N/A'
|
||||
band = score.band_score if score.band_score else 'N/A'
|
||||
score_rows.append([str(skill_name).capitalize(), str(band)])
|
||||
|
||||
if len(score_rows) > 1:
|
||||
score_table = Table(score_rows, colWidths=[8 * cm, 8 * cm])
|
||||
|
||||
Reference in New Issue
Block a user