Dokumentation: Eintrag von WebUntis-Klassenbuch-Abgleich ausschließen
Neues Feld Documentation.ExcludeFromWebUntisSync (Checkbox im Dialog) blendet den Eintrag aus dem Zwischenablage-Vorschlag im Klassenbuch-Abgleich aus, für Notizen, die nur für die eigene pädagogische Arbeit gedacht sind. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,10 @@ public class Documentation : IHasAttachments
|
|||||||
/// <summary>Im Unterricht schnell erfasst und noch inhaltlich nachzuarbeiten.</summary>
|
/// <summary>Im Unterricht schnell erfasst und noch inhaltlich nachzuarbeiten.</summary>
|
||||||
public bool IsDraft { get; set; }
|
public bool IsDraft { get; set; }
|
||||||
public bool IsConfidential { get; set; }
|
public bool IsConfidential { get; set; }
|
||||||
|
/// <summary>Für die pädagogische Arbeit/Leistungsbewertung gedacht, aber nicht für den
|
||||||
|
/// WebUntis-Klassenbuch-Abgleich vorgesehen - blendet den Eintrag im Abgleichsdialog
|
||||||
|
/// (WebUntisDocumentationComparisonViewModel) aus dem Zwischenablage-Vorschlag aus.</summary>
|
||||||
|
public bool ExcludeFromWebUntisSync { get; set; }
|
||||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||||
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
|
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
|
||||||
// Löschen entfernt den Eintrag nicht hart, sondern markiert ihn nur (Nachvollziehbarkeit, 5.1.4).
|
// Löschen entfernt den Eintrag nicht hart, sondern markiert ihn nur (Nachvollziehbarkeit, 5.1.4).
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ public partial class DocumentationDialogViewModel : ObservableObject
|
|||||||
[ObservableProperty] private string _title = "";
|
[ObservableProperty] private string _title = "";
|
||||||
[ObservableProperty] private string _content = "";
|
[ObservableProperty] private string _content = "";
|
||||||
[ObservableProperty] private bool _isConfidential;
|
[ObservableProperty] private bool _isConfidential;
|
||||||
|
[ObservableProperty] private bool _excludeFromWebUntisSync;
|
||||||
|
|
||||||
[ObservableProperty] private string _newParticipant = "";
|
[ObservableProperty] private string _newParticipant = "";
|
||||||
public ObservableCollection<string> Participants { get; } = [];
|
public ObservableCollection<string> Participants { get; } = [];
|
||||||
@@ -176,6 +177,7 @@ public partial class DocumentationDialogViewModel : ObservableObject
|
|||||||
Title = editing.Title;
|
Title = editing.Title;
|
||||||
Content = editing.Content;
|
Content = editing.Content;
|
||||||
IsConfidential = editing.IsConfidential;
|
IsConfidential = editing.IsConfidential;
|
||||||
|
ExcludeFromWebUntisSync = editing.ExcludeFromWebUntisSync;
|
||||||
foreach (var p in editing.Participants) Participants.Add(p);
|
foreach (var p in editing.Participants) Participants.Add(p);
|
||||||
if (editing.AbsenceData is { } a)
|
if (editing.AbsenceData is { } a)
|
||||||
{
|
{
|
||||||
@@ -343,6 +345,7 @@ public partial class DocumentationDialogViewModel : ObservableObject
|
|||||||
// Schnellentwurf ab. Stunden- und Lesson-Bezug bleiben am bestehenden Objekt erhalten.
|
// Schnellentwurf ab. Stunden- und Lesson-Bezug bleiben am bestehenden Objekt erhalten.
|
||||||
Result.IsDraft = false;
|
Result.IsDraft = false;
|
||||||
Result.IsConfidential = IsConfidential;
|
Result.IsConfidential = IsConfidential;
|
||||||
|
Result.ExcludeFromWebUntisSync = ExcludeFromWebUntisSync;
|
||||||
Result.Participants = type == DocumentationType.Conversation ? Participants.ToList() : [];
|
Result.Participants = type == DocumentationType.Conversation ? Participants.ToList() : [];
|
||||||
Result.AbsenceData = type == DocumentationType.Absence
|
Result.AbsenceData = type == DocumentationType.Absence
|
||||||
? new AbsenceData
|
? new AbsenceData
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ public partial class WebUntisDocumentationComparisonViewModel : ObservableObject
|
|||||||
|
|
||||||
foreach (var doc in localDocs)
|
foreach (var doc in localDocs)
|
||||||
{
|
{
|
||||||
|
if (doc.ExcludeFromWebUntisSync) continue;
|
||||||
var coveredByReport = Rows.Any(r => r.AssignedStudent?.Id == doc.StudentId && r.Date == doc.Date);
|
var coveredByReport = Rows.Any(r => r.AssignedStudent?.Id == doc.StudentId && r.Date == doc.Date);
|
||||||
if (coveredByReport) continue;
|
if (coveredByReport) continue;
|
||||||
var student = ownStudents.FirstOrDefault(s => s.Id == doc.StudentId);
|
var student = ownStudents.FirstOrDefault(s => s.Id == doc.StudentId);
|
||||||
|
|||||||
@@ -233,6 +233,9 @@
|
|||||||
|
|
||||||
<CheckBox Content="Vertraulich" IsChecked="{Binding IsConfidential}"
|
<CheckBox Content="Vertraulich" IsChecked="{Binding IsConfidential}"
|
||||||
ToolTip.Tip="Blendet den Inhalt in der Übersicht standardmäßig aus; erst nach Klick auf 'Anzeigen' sichtbar."/>
|
ToolTip.Tip="Blendet den Inhalt in der Übersicht standardmäßig aus; erst nach Klick auf 'Anzeigen' sichtbar."/>
|
||||||
|
|
||||||
|
<CheckBox Content="Nicht mit WebUntis abgleichen" IsChecked="{Binding ExcludeFromWebUntisSync}"
|
||||||
|
ToolTip.Tip="Erscheint dann nicht als Vorschlag zum Nacherfassen im WebUntis-Klassenbuch-Abgleich (Dashboard)."/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user