Keep a note on the overview until somebody ticks it off

A note with a follow-up date is a task, and the overview is where tasks
are looked for. Until now it lived only in the employee file, which is
the one place you go when you already know who you are looking for.

Follow-ups behave differently from everything else on that card, and the
difference is the point: an entry on Monday is over on Tuesday, an
unfinished task is not. So there is no lower bound on the date — what
was due and never ticked off stays, marked overdue in red, sorted to the
top because it is sorted by date. A task that drops out of the list by
itself is a forgotten task.

Only "Erledigt" removes it. A note without a follow-up date never
appears: it is a record, not a task.

Checked against the live database — an overdue one and an upcoming one
appear, one without a date and one beyond the chosen period do not, and
ticking the overdue one off removes exactly it. The probe notes were
deleted again.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-16 19:44:48 +02:00
parent 91b2b3406b
commit 10f8f1f2d5
4 changed files with 93 additions and 16 deletions

View File

@@ -56,6 +56,22 @@ describe("parseArten", () => {
});
});
describe("Wiedervorlagen als eigene Art", () => {
it("steht in der Auswahl", () => {
expect(ANSTEHEND_ARTEN.map((a) => a.value)).toContain("note");
});
it("ist ohne Angabe mit dabei", () => {
// Eine offene Aufgabe mit Termin ist der Grund, warum jemand die Übersicht
// aufschlägt — sie darf nicht erst nach einem Klick sichtbar werden.
expect(parseArten(undefined)).toContain("note");
});
it("lässt sich allein auswählen", () => {
expect(parseArten("note")).toEqual(["note"]);
});
});
describe("istEingeschraenkt", () => {
const alle = ANSTEHEND_ARTEN.map((a) => a.value);