Unterrichtsmodus: Schnellbewertung und Hausaufgabe-Kontrolle direkt im Fenster
Zwei neue Buttons ("Mitarbeit", "Anwesenheit/Hausaufgabe") öffnen die
bestehenden Schnellbewertungs-Dialoge direkt aus dem Unterrichtsmodus, ohne
zum Mitarbeit-Tab wechseln zu müssen — TeachingModeViewModel bekommt dafür
eine eigene ParticipationTabViewModel-Instanz, vorselektiert auf die zu
dieser Stunde gehörende Sitzung. Die linke Spalte zeigt jetzt zusätzlich die
Hausaufgabe der letzten Stunde mit Kontrolliert-Checkbox sowie die
Hausaufgabe dieser Stunde als editierbares Feld, statt nur lesbar.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1892,6 +1892,33 @@ folgenden Punkte gehören direkt in `LehrerApp.Desktop`:
|
||||
stattdessen ein maximiertes, normal schließbares Fenster, um kein neues, ungetestetes
|
||||
UI-Verhalten einzuführen.
|
||||
|
||||
**Nachtrag (August 2026, Nutzer-Feedback) — Schnellbewertung und Hausaufgabe direkt im
|
||||
Unterrichtsmodus:** zwei neue Buttons oben ("⚡ Mitarbeit", "⚡ Anwesenheit/Hausaufgabe")
|
||||
öffnen dieselben Schnellbewertungs-Dialoge wie der Mitarbeit-Tab der Gruppe
|
||||
(`ParticipationQuickInputDialog`/`AttendanceHomeworkQuickInputDialog`), ohne den
|
||||
Unterrichtsmodus verlassen zu müssen. Dafür bekommt `TeachingModeViewModel` jetzt eine
|
||||
eigene, per DI aufgelöste `ParticipationTabViewModel`-Instanz (gleiches Muster wie
|
||||
`SeatingPlanTabViewModel`), initialisiert auf die Gruppe und explizit auf die zu dieser
|
||||
Stunde gehörende Sitzung vorselektiert (`SeatingPlan.SelectedSession.Id` nach
|
||||
`SelectOrCreateSessionForLesson`). **Wichtige Falle dabei:** die beiden ViewModels laufen
|
||||
als unabhängige Instanzen mit jeweils eigenem, lokal geladenem Zustand — eine über die
|
||||
Schnellbewertung geänderte Anwesenheit/Hausaufgabe spiegelt sich nicht automatisch in den
|
||||
Sitzplan-Badges (`SeatCellViewModel.AttendanceBadge`/`HomeworkBadge`), da
|
||||
`SeatingPlanTabViewModel.RefreshSeatLessonData()` nur auf eigene Änderungen reagiert. Neue
|
||||
öffentliche Methode `SeatingPlanTabViewModel.ReloadSeatBadgesFromRepository()` (öffentlich
|
||||
statt intern, wie der Rest der Codebasis es hält — kein `InternalsVisibleTo`), von
|
||||
`TeachingModeWindow.axaml.cs` nach jedem geschlossenen Schnellbewertungs-Dialog aufgerufen.
|
||||
|
||||
Zusätzlich: die linke Spalte zeigt jetzt statt der rein lesbaren Hausaufgaben-Anzeige einen
|
||||
interaktiven Block — Hausaufgabe der **letzten** Stunde (120-Tage-Rückschau wie beim
|
||||
bestehenden Stundenplan-Badge, `TimetableViewModel.HasUnhandledHomework`) mit
|
||||
"Kontrolliert"-Checkbox (speichert sofort, dieselbe Semantik wie im `LessonDialog`, 4.5.4),
|
||||
und die Hausaufgabe **dieser** Stunde als Textfeld mit Speichern-Button — Nutzer-Feedback:
|
||||
die Hausaufgabe ergibt sich manchmal erst während der Stunde, dafür sollte man nicht extra
|
||||
den vollen Verlaufsplan-Editor öffnen müssen. Neue kleine
|
||||
`TeachingModeHomeworkViewModel : ObservableObject`, da `TeachingModeViewModel` selbst (wie
|
||||
`LessonViewerViewModel`) keine Bindable-Basisklasse hat.
|
||||
|
||||
**Wichtige Abweichung von der ursprünglichen Planung (5.2):** Vor der Umsetzung zeigte sich,
|
||||
dass 5.2 wie ursprünglich beschrieben eine zweite, parallele Fehlzeiten-Erfassung neben dem
|
||||
bereits bestehenden Anwesenheits-Tracking aus Kapitel 3 (`ParticipationEntry.Attendance`,
|
||||
|
||||
Reference in New Issue
Block a user