Schülerdokumentation: Einträge, Fehlzeitenbilanz, Datenschutz (Kapitel 5)
Dokumentationseinträge mit Typwahl (Gespräch, Vorkommnis, Förderplan, Fehlzeit, Elternanruf, Elternbrief), vertrauliche Einträge nur nach Bestätigung sichtbar, weiche Löschung mit Nachvollziehbarkeit. Fehlzeiten als Auswertung des bestehenden Anwesenheits-Trackings statt zweiter Erfassung, mit Schwellenwert-Warnung im Schülerdetail und Dashboard. Förderplan-Wiedervorlage als Dashboard-Karte. Datenschutz: Löschfristen mit manueller Bereinigung und DSGVO-Art.-15-Datenauskunft als Export. Auf Nutzer-Feedback hin ergänzt: Elternanruf mit begleitendem Gesprächsprotokoll-Dialog (Punkte abhaken, Eindrücke festhalten), Elternbrief mit Versand-/Rückmeldungs-Tracking, Datei-Anhänge über LiteDBs Dateispeicher, frei vergebbare Labels zur Nachverfolgung mit Dringlichkeits-Farbcodierung, sowie eine sichtbare Farblegende für das bestehende Notenentwicklungs-Diagramm. Dabei einen Absturz behoben: leere Textfelder lieferten über das Binding null statt "", was beim Speichern eine NullReferenceException auslöste. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,9 +12,17 @@ public class Documentation
|
||||
public List<string> Participants { get; set; } = [];
|
||||
public AbsenceData? AbsenceData { get; set; }
|
||||
public SupportData? SupportData { get; set; }
|
||||
public ParentCallData? ParentCallData { get; set; }
|
||||
public ParentLetterData? ParentLetterData { get; set; }
|
||||
public List<DocumentAttachment> Attachments { get; set; } = [];
|
||||
/// Freie Labels zur Nachverfolgung, z.B. "Kritisch", "Nacharbeiten" — siehe `DocumentationTagDisplay`.
|
||||
public List<string> Tags { get; set; } = [];
|
||||
public bool IsConfidential { 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).
|
||||
public bool IsDeleted { get; set; }
|
||||
public DateTime? DeletedAt { get; set; }
|
||||
}
|
||||
public class AbsenceData
|
||||
{
|
||||
@@ -28,7 +36,43 @@ public class SupportData
|
||||
public DateOnly? ReviewDate { get; set; }
|
||||
public SupportStatus Status { get; set; } = SupportStatus.Active;
|
||||
}
|
||||
public enum DocumentationType { Conversation, Incident, SupportPlan, Absence }
|
||||
/// <summary>Geplante Gesprächspunkte eines Elternanrufs, abgehakt in <see cref="ParentCallData"/>.</summary>
|
||||
public class ParentCallPoint
|
||||
{
|
||||
public Guid Id { get; set; } = Guid.NewGuid();
|
||||
public string Text { get; set; } = "";
|
||||
public bool IsDone { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Elternanruf: Gesprächspunkte werden vorab geplant, dann im begleitenden Dialog während des
|
||||
/// Anrufs abgehakt und um Eindrücke/Ergänzungen zum Protokoll ergänzt.
|
||||
/// </summary>
|
||||
public class ParentCallData
|
||||
{
|
||||
public List<ParentCallPoint> Points { get; set; } = [];
|
||||
public string Impressions { get; set; } = "";
|
||||
public bool IsConducted { get; set; }
|
||||
public DateOnly? ConductedDate { get; set; }
|
||||
}
|
||||
/// <summary>Elternbrief: Entwurf/Planung sowie Absende- und Rückmeldedaten.</summary>
|
||||
public class ParentLetterData
|
||||
{
|
||||
public string DraftContent { get; set; } = "";
|
||||
public DateOnly? SentDate { get; set; }
|
||||
public bool ResponseReceived { get; set; }
|
||||
public DateOnly? ResponseDate { get; set; }
|
||||
public string ResponseNote { get; set; } = "";
|
||||
}
|
||||
/// <summary>Datei-Anhang eines Dokumentationseintrags, im LiteDB-Dateispeicher abgelegt.</summary>
|
||||
public class DocumentAttachment
|
||||
{
|
||||
public string StorageId { get; set; } = "";
|
||||
public string FileName { get; set; } = "";
|
||||
public long SizeBytes { get; set; }
|
||||
public DateTime UploadedAt { get; set; } = DateTime.UtcNow;
|
||||
}
|
||||
// Hinten angefügt, damit die numerischen Werte bereits gespeicherter LiteDB-Einträge stabil bleiben.
|
||||
public enum DocumentationType { Conversation, Incident, SupportPlan, Absence, ParentCall, ParentLetter }
|
||||
public enum SupportStatus { Active, Completed, Paused }
|
||||
|
||||
public class WorkTask
|
||||
|
||||
Reference in New Issue
Block a user