- Schnellbewerten-Dialog: abwesende Schüler werden gedimmt und mit ihrem Anwesenheitsstatus statt der Aspektbeschriftung angezeigt, damit keine Mitarbeitsnote für nicht anwesende Schüler vergeben wird. - Zeugnisnoten-Dialog: zeigt je Schüler die Fehlquote im gewählten Zeitraum, ab 50 % hervorgehoben (informativ, keine automatische Notenänderung). - Gruppen-Tab "Dokumentation" (bisher Platzhalter) implementiert: listet alle Dokumentationseinträge der Gruppen-Schüler, mit Schüler-Filter und optionalem "Nur dieser Unterricht"-Schalter. Einträge aus anderen Lerngruppen werden standardmäßig mitangezeigt, aber gedimmt. Der Dokumentationsdialog bekommt dafür einen optionalen Schüler-Picker. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
70 lines
3.9 KiB
XML
70 lines
3.9 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Groups"
|
|
x:Class="LehrerApp.Desktop.Views.Groups.ReportGradeDialog"
|
|
x:DataType="vm:ReportGradeDialogViewModel"
|
|
Title="Zeugnisnoten"
|
|
Width="820" Height="680" MinWidth="640" MinHeight="440"
|
|
CanResize="True" WindowStartupLocation="CenterOwner">
|
|
|
|
<Grid RowDefinitions="Auto,Auto,*,Auto" Margin="24">
|
|
|
|
<StackPanel Grid.Row="0" Spacing="2">
|
|
<TextBlock Text="{Binding GroupLabel}" Classes="dialogtitle"/>
|
|
<TextBlock Text="{Binding SchemeSummary}" FontSize="12" Opacity="0.6"/>
|
|
</StackPanel>
|
|
|
|
<StackPanel Grid.Row="1" Orientation="Horizontal" Spacing="12" Margin="0,12,0,10">
|
|
<StackPanel Orientation="Horizontal" Spacing="6">
|
|
<TextBlock Text="Zeitraum:" VerticalAlignment="Center"/>
|
|
<ComboBox ItemsSource="{Binding PeriodOptions}" SelectedItem="{Binding SelectedPeriod}" MinWidth="170"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Spacing="6">
|
|
<TextBlock Text="Rundung:" VerticalAlignment="Center"/>
|
|
<ComboBox ItemsSource="{Binding RoundingOptions}" SelectedItem="{Binding RoundingRuleName}" MinWidth="140"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
<ScrollViewer Grid.Row="2">
|
|
<ItemsControl ItemsSource="{Binding Rows}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:ReportGradeRow">
|
|
<Border BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
|
BorderThickness="0,0,0,1" Padding="0,8">
|
|
<StackPanel Spacing="6">
|
|
<Grid ColumnDefinitions="180,90,*,120,Auto,Auto">
|
|
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
|
<TextBlock Text="{Binding Name}" FontSize="13"/>
|
|
<TextBlock Text="{Binding AbsenceRateDisplay}" FontSize="11"
|
|
Foreground="{Binding AbsenceRateColorHex}"
|
|
ToolTip.Tip="Fehlquote im gewählten Zeitraum — ab 50 % darf laut Schulrecht unabhängig von der fachlichen Leistung eine 5 vergeben werden."/>
|
|
</StackPanel>
|
|
<TextBlock Grid.Column="1" Text="{Binding CalculatedDisplay}" VerticalAlignment="Center"
|
|
FontSize="13" Opacity="0.7" ToolTip.Tip="Berechnet"/>
|
|
<TextBox Grid.Column="2" Text="{Binding OverrideValue}" PlaceholderText="Übersteuern (optional)"
|
|
IsEnabled="{Binding !IsLocked}"/>
|
|
<TextBox Grid.Column="3" Text="{Binding OverrideReason}" PlaceholderText="Begründung"
|
|
IsEnabled="{Binding !IsLocked}" Margin="6,0,0,0"/>
|
|
<TextBlock Grid.Column="4" Text="{Binding FinalDisplay}" FontWeight="SemiBold"
|
|
VerticalAlignment="Center" Margin="10,0" FontSize="14"/>
|
|
<StackPanel Grid.Column="5" Orientation="Horizontal" Spacing="6">
|
|
<Button Content="Speichern" Command="{Binding SaveCommand}" IsEnabled="{Binding !IsLocked}"/>
|
|
<Button Content="{Binding LockLabel}" Command="{Binding ToggleLockCommand}"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
<TextBlock Text="{Binding ValidationMessage}" Foreground="Red" FontSize="11"
|
|
IsVisible="{Binding ValidationMessage, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</ScrollViewer>
|
|
|
|
<Grid Grid.Row="3" ColumnDefinitions="Auto,*,Auto" Margin="0,16,0,0">
|
|
<Button Grid.Column="0" Content="Als CSV exportieren" Click="OnExportClick"/>
|
|
<Button Grid.Column="2" Content="Schließen" Click="OnClose"/>
|
|
</Grid>
|
|
</Grid>
|
|
</Window>
|