fix: WebUntis-Schülerreport verkraftet fehlenden externKey

Klassenlehrer-Übersicht scheiterte komplett mit "Ungültige Zahl in Spalte
externKey", sobald ein Schüler der Klasse keinen gepflegten externen
Schlüssel hat (in echten Schuldaten vorkommend). externKey ist jetzt
optional statt Pflichtfeld (UntisStudent/UntisStudentDto.ExternKey -> int?);
betraf denselben Bericht wie der bestehende WebUntis-Klassenimport, der das
aber schon immer beim Weiterimport toleriert hatte.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-25 22:47:04 +02:00
co-authored by Claude Sonnet 5
parent 33c15ffe3e
commit 056e864edd
6 changed files with 34 additions and 4 deletions
+9
View File
@@ -1328,6 +1328,15 @@ eigenen Unterricht abfragt und deshalb mit den regulären Lehrkraft-Rechten funk
Schülerdetail; ein Detail-Drill-down pro Schüler*in (Heatmap gefehlter Einzelstunden,
Verspätung/vorzeitiges Verlassen je Woche); eine KI-gestützte Zusammenfassung/Bewertung der
Einträge (pro Schüler*in oder gesamt) mit Namens-Anonymisierung/Synonymen vor dem Versand.
**Echter Fehler gefunden und behoben:** Die Übersicht rief für das Roster
`WebUntisIntegrationService.GetStudentsAsync` auf (den bestehenden, schon länger genutzten
Schülerlisten-Bericht) — `WebUntisStudentReportParser` behandelte die Spalte `externKey` bisher als
Pflichtfeld (`RequiredInt`) und ließ den kompletten Abruf mit "Ungültige Zahl in Spalte
\"externKey\"" scheitern, sobald auch nur eine/einer der Schüler*innen der Klasse keinen
gepflegten externen Schlüssel hat (in der Praxis vorkommend, z. B. frisch angelegt). `externKey`
ist jetzt optional (`UntisStudent.ExternKey`/`UntisStudentDto.ExternKey``int?`) — betraf auch
den bestehenden WebUntis-Klassenimport in der Kursansicht, der das aber schon immer über
`FirstNotEmpty` beim Weiterimport toleriert hatte und deshalb nicht auffiel.
### 4.4 Wochen-/Tagesansicht
- [x] **4.4.1** Kalenderansicht über alle Gruppen: Woche und Tag — siehe Nachtrag zu 4.3