Klausur: Fach aus Lerngruppe übernehmen, Rückgabedatum erfassen

- Fach kommt jetzt aus der Lerngruppe statt manuell pro Klausur
  eingegeben zu werden: Fach-Feld im Anlegen-Dialog der Lerngruppe
  ist nicht mehr auf Typ "Kurs" beschränkt, da eine Gruppe genau ein
  Fach unterrichtet (bei zwei Fächern legt man zwei Gruppen an). Im
  Klausur-Dialog ist das Fach dadurch nur noch read-only Kontext statt
  eines redundanten Eingabefelds.
- Neues Feld Exam.ReturnedAt: wird beim Statuswechsel auf "Zurück-
  gegeben" automatisch mit dem heutigen Datum belegt (und beim
  Zurücknehmen des Status wieder geleert), ist im Klausur-Dialog aber
  auch manuell nachträglich korrigierbar. Sichtbar als eigene Spalte
  im Klausuren-Tab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 23:16:52 +02:00
co-authored by Claude Sonnet 5
parent 21378bbebd
commit 8cbd4475d7
6 changed files with 40 additions and 12 deletions
@@ -25,8 +25,9 @@
<TextBox Text="{Binding Name}" PlaceholderText="{Binding NameHint}"/>
</StackPanel>
<!-- Fach nur bei Kurs, AutoComplete aus bekannten Fächern -->
<StackPanel Spacing="4" IsVisible="{Binding IsKurs}">
<!-- Fach AutoComplete aus bekannten Fächern; auch bei Klasse, da eine
Lerngruppe genau ein Fach unterrichtet (bei zwei Fächern: zwei Gruppen anlegen) -->
<StackPanel Spacing="4">
<TextBlock Text="Fach (optional)" FontSize="12" Opacity="0.7"/>
<AutoCompleteBox Text="{Binding Subject}"
ItemsSource="{Binding KnownSubjectNames}"
@@ -10,7 +10,10 @@
<Grid RowDefinitions="*,Auto" Margin="24">
<ScrollViewer Grid.Row="0">
<StackPanel Spacing="14" Margin="0,0,12,0">
<TextBlock Text="{Binding DialogTitle}" FontSize="18" FontWeight="SemiBold"/>
<StackPanel Spacing="2">
<TextBlock Text="{Binding DialogTitle}" FontSize="18" FontWeight="SemiBold"/>
<TextBlock Text="{Binding SubjectDisplay}" FontSize="12" Opacity="0.6"/>
</StackPanel>
<StackPanel Spacing="4">
<TextBlock Text="Titel *" FontSize="12" Opacity="0.7"/>
@@ -23,14 +26,14 @@
<TextBox Text="{Binding DateText}" PlaceholderText="TT.MM.JJJJ"/>
</StackPanel>
<StackPanel Grid.Column="2" Spacing="4">
<TextBlock Text="Fach" FontSize="12" Opacity="0.7"/>
<TextBox Text="{Binding Subject}"/>
</StackPanel>
<StackPanel Grid.Column="4" Spacing="4">
<TextBlock Text="Klausurnummer" FontSize="12" Opacity="0.7"/>
<NumericUpDown Value="{Binding ExamNumber}" Minimum="1" Maximum="20" FormatString="0"
ShowButtonSpinner="False"/>
</StackPanel>
<StackPanel Grid.Column="4" Spacing="4">
<TextBlock Text="Rückgabedatum" FontSize="12" Opacity="0.7"/>
<TextBox Text="{Binding ReturnedAtText}" PlaceholderText="TT.MM.JJJJ"/>
</StackPanel>
</Grid>
<StackPanel Spacing="4">
@@ -107,6 +107,7 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Rückgabe" Binding="{Binding ReturnedAtDisplay}" Width="100"/>
</DataGrid.Columns>
<DataGrid.ContextMenu>
<ContextMenu>