diff --git a/LehrerApp.Core/Models/Workload.cs b/LehrerApp.Core/Models/Workload.cs
index 6b98b8f..3093c5f 100644
--- a/LehrerApp.Core/Models/Workload.cs
+++ b/LehrerApp.Core/Models/Workload.cs
@@ -24,6 +24,10 @@ public class Documentation : IHasAttachments
/// Im Unterricht schnell erfasst und noch inhaltlich nachzuarbeiten.
public bool IsDraft { get; set; }
public bool IsConfidential { get; set; }
+ /// 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.
+ public bool ExcludeFromWebUntisSync { get; set; }
public DateTime CreatedAt { 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).
diff --git a/LehrerApp.Desktop/ViewModels/Students/DocumentationViewModels.cs b/LehrerApp.Desktop/ViewModels/Students/DocumentationViewModels.cs
index 791f58d..ab95edf 100644
--- a/LehrerApp.Desktop/ViewModels/Students/DocumentationViewModels.cs
+++ b/LehrerApp.Desktop/ViewModels/Students/DocumentationViewModels.cs
@@ -107,6 +107,7 @@ public partial class DocumentationDialogViewModel : ObservableObject
[ObservableProperty] private string _title = "";
[ObservableProperty] private string _content = "";
[ObservableProperty] private bool _isConfidential;
+ [ObservableProperty] private bool _excludeFromWebUntisSync;
[ObservableProperty] private string _newParticipant = "";
public ObservableCollection Participants { get; } = [];
@@ -176,6 +177,7 @@ public partial class DocumentationDialogViewModel : ObservableObject
Title = editing.Title;
Content = editing.Content;
IsConfidential = editing.IsConfidential;
+ ExcludeFromWebUntisSync = editing.ExcludeFromWebUntisSync;
foreach (var p in editing.Participants) Participants.Add(p);
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.
Result.IsDraft = false;
Result.IsConfidential = IsConfidential;
+ Result.ExcludeFromWebUntisSync = ExcludeFromWebUntisSync;
Result.Participants = type == DocumentationType.Conversation ? Participants.ToList() : [];
Result.AbsenceData = type == DocumentationType.Absence
? new AbsenceData
diff --git a/LehrerApp.Desktop/ViewModels/Students/WebUntisDocumentationComparisonViewModel.cs b/LehrerApp.Desktop/ViewModels/Students/WebUntisDocumentationComparisonViewModel.cs
index 7e3a385..2f6af27 100644
--- a/LehrerApp.Desktop/ViewModels/Students/WebUntisDocumentationComparisonViewModel.cs
+++ b/LehrerApp.Desktop/ViewModels/Students/WebUntisDocumentationComparisonViewModel.cs
@@ -128,6 +128,7 @@ public partial class WebUntisDocumentationComparisonViewModel : ObservableObject
foreach (var doc in localDocs)
{
+ if (doc.ExcludeFromWebUntisSync) continue;
var coveredByReport = Rows.Any(r => r.AssignedStudent?.Id == doc.StudentId && r.Date == doc.Date);
if (coveredByReport) continue;
var student = ownStudents.FirstOrDefault(s => s.Id == doc.StudentId);
diff --git a/LehrerApp.Desktop/Views/Students/DocumentationDialog.axaml b/LehrerApp.Desktop/Views/Students/DocumentationDialog.axaml
index 80b3997..1ad054b 100644
--- a/LehrerApp.Desktop/Views/Students/DocumentationDialog.axaml
+++ b/LehrerApp.Desktop/Views/Students/DocumentationDialog.axaml
@@ -233,6 +233,9 @@
+
+