Klausuren-Hauptseite: gruppenübergreifende Liste mit Prioritäts-Score statt Datum
Sidebar-Klausuren war bisher ein Placeholder. Neue Seite zeigt alle Klausuren des Schuljahres sortiert nach abgeleiteter Dringlichkeit (Korrekturfortschritt statt manuellem Status), mit Detailbereich, Parallelkurs-Umschalter und Notenspiegel. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -96,6 +96,48 @@ pragmatisch über "Abwesend" bei den übrigen Schülern statt über eine eigene
|
||||
- [x] **1.5.4** Export der Auswertung — CSV-Export direkt im Dialog; inzwischen auf die gemeinsame
|
||||
Export-Infrastruktur aus 11.1 und den zentralen `CsvBuilder` umgestellt.
|
||||
|
||||
### 1.6 Klausuren-Hauptseite (gruppenübergreifend)
|
||||
|
||||
Der Sidebar-Punkt "Klausuren" (`NavItem.Exams`) war bisher ein `PlaceholderViewModel` ohne
|
||||
Funktion — die vollständige Verwaltung existierte nur innerhalb einer Gruppe (1.1–1.5). Nutzer
|
||||
unterrichten oft mehrere Kurse gleichzeitig und brauchen einen gruppenübergreifenden Überblick.
|
||||
|
||||
- [x] **1.6.1** Neue Seite `ExamsOverviewViewModel`/`ExamsOverviewView` ersetzt den Placeholder.
|
||||
Detailbereich zur ausgewählten Klausur oben (ca. 55–60 % Höhe), darunter eine scrollbare
|
||||
Liste aller Klausuren des aktuellen Schuljahres — bewusst kein separates Menü, sondern
|
||||
Bestandteil derselben Seite (Nutzerwunsch: "keine eigene Hauptseite in dem Ausmaß").
|
||||
- [x] **1.6.2** Sortierung nach unsichtbarem Prioritäts-Score statt nach Datum — neuer Service
|
||||
`ExamPriorityService` (`LehrerApp.Core/Services/ExamPriorityService.cs`) leitet Status
|
||||
(`ExamListStatus`: Planned/AwaitingCorrection/CorrectionInProgress/CorrectionStuck/
|
||||
AwaitingReturn/Returned) und Score aus dem vorhandenen `Exam.Status` plus dem
|
||||
Korrekturfortschritt ab — kein neuer, manuell zu pflegender "Korrektur läuft"-Status.
|
||||
Der Korrekturfortschritt selbst kommt aus `ExamCorrectionCounter` (ebenda), das auch
|
||||
`DashboardViewModel.LoadOpenCorrections` jetzt nutzt (vorher zwei Kopien derselben Zählung).
|
||||
Farbcodierung wiederverwendet die validierten `AppStatus{Ok,Info,Warning,Danger}Brush`
|
||||
aus `Styles/SemanticBrushes.axaml` (Klassenlehrer-Bereich) statt neuer Hex-Werte.
|
||||
- [x] **1.6.3** Nutzer-Feedback zum "hängt fest"-Fall: ein einzelner Schüler, der nie
|
||||
nachschreibt, blockierte sonst dauerhaft die live abgeleitete Korrektur-Erkennung, weil
|
||||
niemand eine leere Zeile anfasst, für die es nichts einzutragen gibt. Zwei Bausteine statt
|
||||
eines manuellen Override: (a) neuer Button "Rest als abwesend markieren" im
|
||||
`ExamGradingDialog` setzt bei allen noch unberührten Zeilen "Abwesend" in einem Klick;
|
||||
(b) bleibt eine Klausur trotzdem länger als `ExamPriorityService.StuckAfterDays` (21 Tage)
|
||||
in Bearbeitung hängen, fällt sie aus der dringenden Zone in eine ruhige
|
||||
`CorrectionStuck`-Einstufung statt dauerhaft oben zu kleben.
|
||||
- [x] **1.6.4** Parallelkurse (gleiche Arbeit, mehrere Kurse — z.B. zwei Chemie-Kurse im selben
|
||||
Jahrgang): neues optionales Feld `Exam.SharedExamGroupId`, beim Duplizieren (1.1.4) auf die
|
||||
Id der Ursprungsklausur gesetzt. Die Klausuren-Hauptseite zeigt dafür einen Kurs-Umschalter
|
||||
im Detailbereich; Zeilen mit Verknüpfung tragen ein 🔗-Symbol in der Liste.
|
||||
- [x] **1.6.5** Zwei neue nullable Datumsfelder `Exam.ApprovalGrantedAt`/`AnnouncedAt`
|
||||
("Genehmigung erteilt"/"Ankündigung bei Schülern gemacht", Label verhandelbar) — bewusst
|
||||
keine weiteren Workflow-Statusstufen, weil sie zeitlich oft parallel statt sequenziell zum
|
||||
Hauptstatus laufen. Als anklickbare Zeilen im Detailbereich, die das Datum auf heute setzen
|
||||
bzw. wieder löschen.
|
||||
- [x] **1.6.6** Detailbereich zeigt je nach Status Korrekturfortschritt (Balken + Zahl) oder
|
||||
Notenspiegel (Balken je Note + Durchschnitt, gleiche Berechnung wie 1.5.1 über
|
||||
`GradingService`/`GradeBarItem`) — kein Kompetenz-Breakdown in dieser Iteration. Button
|
||||
"Zum Kurs" springt in den Klausuren-Tab der jeweiligen Gruppe (dort wie gehabt Zugriff auf
|
||||
Kompetenzen-Tab, 8.2/8.3).
|
||||
|
||||
---
|
||||
|
||||
## 2. Noten & Zeugnisnoten
|
||||
|
||||
Reference in New Issue
Block a user